Funktionen aus DLL Laden (Portieren von MFC nach Qt)
-
Ich habe eine Klasse 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:
... protected: HINSTANCE DLLHandle; typedef int (__stdcall *fn_MMC_COM_open)(int public: fn_MMC_COM_open MMC_COM_open; ...
/* 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
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
-
Falsches Forum!
Bitte löschen!
-
löschantrag schrieb:
Falsches Forum!
Bitte löschen!
Dann verschiebt es doch.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Versuch es mit QLibrary: http://doc.trolltech.com/4.3/qlibrary.html
-
Ponto schrieb:
Versuch es mit QLibrary: http://doc.trolltech.com/4.3/qlibrary.html
Danke, damit scheint es zu klappen.
Gibt es denn keine Framwork unabhängige Funktionen, also solche die in C++ selbst oder der STL implementiert sind die zum DLL Laden genutzt werden können ?
Matthias
-
Dynamische Biblotheken gehen ueber den (c++) standard hinaus. Ned alle Systeme (paar embedded z.b.) unterstuetzen dies z.b.
Deshalb wirst da auf Ebene des BS (Winapi) oder speziellerer Standards (Posix etc) zurueckgreifen muessen.Ciao ...