DLL Laden innerhalb einer Qt Umgebung

Alles rund um die Programmierung mit Qt
Antworten
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

DLL Laden innerhalb einer Qt Umgebung

Beitrag von pospiech »

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:

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")));
...
das führt aber zu den Fehlern (in Visual Studio)
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.
wie konvertiere ich das nun in Framework unspezifischen Code?

Matthias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

HINSTANCE, LoadLibrary, ... sind nicht definiert - also korrekten Header includieren. Hat aber nichts mit Qt zu tun.
Ausserdem gibt es QLibrary
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten