Diese Methode soll aus einer DLL eine C Funktion laden.
Diese Funktion erzeugt ein Objekt einer beliebigen Klasse.
Wenn ich dann aber mit delete dieses Objekt freigeben will dann stürzt das Programm ab.
Ich verstehe nicht warum. Zum testen hab ich bisher die EXE Datei als Dateinamen angegeben.
Sonst funktioniert alles wie es soll nur halt die Zerstörung nicht.
Kann mir da jemand helfen?
Code: Alles auswählen
#ifndef PlugIn_h
#define PlugIn_h
#include <windows.h>
namespace Core
{
class PlugIn
{
private:
PlugIn();
public:
template<class T>
static T* CreateInstance(const char *filename, const char *procname)
{
T* pInstance;
HINSTANCE dll = LoadLibraryA(filename);
T* (*CreateProc)(void) = (T* (*)(void)) GetProcAddress(dll, procname);
pInstance = CreateProc();
//FreeLibrary(dll);
return pInstance;
}
};
}
#endif