DLL Laden innerhalb einer Qt Umgebung
Verfasst: 15. März 2008 20:07
Die Frage ist vermutlich Qt unspezifisch, aber ich würde gerne Wissen wie man das Problem innerhalb einer Nicht-MFC/Win32 Umgebung löst.
Mein Problem ist, dass ich eine Klasse habe die eine DLL eines komerziellen Herstellers lädt. Diese Klasse hat innerhalb eines MFC basierten Projektes wunderbar funktioniert.
Jetzt möchte ich sie allerdings innerhalb eines Qt basierten Projektes benutzen und muss feststellen dass einige Aufrufe offenbar MFC/win32 spezifisch sind.
Und zwar benutze ich:
das führt aber zu den Fehlern (in Visual Studio)
Matthias
Mein Problem ist, dass ich eine Klasse habe die eine DLL eines komerziellen Herstellers lädt. Diese Klasse hat innerhalb eines MFC basierten Projektes wunderbar funktioniert.
Jetzt möchte ich sie allerdings innerhalb eines Qt basierten Projektes benutzen und muss feststellen dass einige Aufrufe offenbar MFC/win32 spezifisch sind.
Und zwar benutze ich:
Code: Alles auswählen
...
protected:
HINSTANCE DLLHandle;
typedef int (__stdcall *fn_MMC_COM_open)(int
public:
fn_MMC_COM_open MMC_COM_open;
...
Code: Alles auswählen
/* Load the DLL and get the addresses of the functions */
int LoadDLL()
{
DLLHandle = LoadLibrary("MMC413.DLL");
MMC_COM_open = reinterpret_cast<fn_MMC_COM_open>(::GetProcAddress(DLLHandle, TEXT("MMC_COM_open")));
...
wie konvertiere ich das nun in Framework unspezifischen Code?error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'DLLHandle'
error C2039: 'FreeLibrary': Ist kein Element von '`global namespace''
error C2065: 'DLLHandle': nichtdeklarierter Bezeichner
error C3861: "FreeLibrary": Bezeichner wurde nicht gefunden.
error C3861: "LoadLibrary": Bezeichner wurde nicht gefunden.
error C2039: 'GetProcAddress': Ist kein Element von '`global namespace''
error C3861: "GetProcAddress": Bezeichner wurde nicht gefunden.
error C3861: "TEXT": Bezeichner wurde nicht gefunden.
Matthias