Hallo,
ich muss ein Modul(dll) für ein größeres MFC-Projekt entwickeln. Die dll soll ein paar Funktionen exportieren und auch eine GUI haben. Weiß jemand, ob es eine schöne Beschreibung gibt?
Das ich als tamplate 'lib' angeben muss, habe ich gefunden.
Meine Fragen sind:
Wie schreibe ich Funktionen, die aus dem Hauptprogramm aufrufen kann?
Wie rufe ich dann diese Funktionen aus dem Hauptprogramm auf?
Gruß
qt-dll für MFC-Projekt
Re: qt-dll für MFC-Projekt
Schau Dir mal in der MSDN die Doku zu __declspec( dllexport ) und __declspec( dllimport ) an :
http://msdn.microsoft.com/en-us/library/9h658af8.aspx und http://msdn.microsoft.com/en-us/library/8fskxacy.aspx
Da wird es recht gut beschrieben. Es gibt noch eine andere Möglichkeit (über .def - Dateien), aber ich fand die immer sehr fummelig.
http://msdn.microsoft.com/en-us/library/9h658af8.aspx und http://msdn.microsoft.com/en-us/library/8fskxacy.aspx
Da wird es recht gut beschrieben. Es gibt noch eine andere Möglichkeit (über .def - Dateien), aber ich fand die immer sehr fummelig.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: qt-dll für MFC-Projekt
Qt Gui mit MFC mischen geht nicht so ohne weiteres da es dann keine QApplication gibt. Dafür gabs mal ein Qt-MFC - Toolkit aber keine Ahnung ob es das noch gibt.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Scary Hallo
Re: qt-dll für MFC-Projekt
@brax: Danke schön. Werde ich mir gleich nachher einmal zu Gemüte führen.
@Christian81: Nur damit kein Missverständnis entsteht. Die dll soll eine eigenständige GUI haben. Es soll kein QImage auf ein MFC-Canvas gemalt werden oder so. Und das sollte funktionieren. Wir haben nämlich schon solches dll Modul. Allerdings von einer Fremdfirma programmieren lassen. Deshalb habe ich da keinen Einblick.
@Christian81: Nur damit kein Missverständnis entsteht. Die dll soll eine eigenständige GUI haben. Es soll kein QImage auf ein MFC-Canvas gemalt werden oder so. Und das sollte funktionieren. Wir haben nämlich schon solches dll Modul. Allerdings von einer Fremdfirma programmieren lassen. Deshalb habe ich da keinen Einblick.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: qt-dll für MFC-Projekt
Das kann aber auch nur funktionieren wenn eine QApplication und die Qt-MFC - Integration vorhanden ist.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: qt-dll für MFC-Projekt
Ne QApp muss es geben klar.Das kann aber auch nur funktionieren wenn eine QApplication und die Qt-MFC - Integration vorhanden ist.
Aber die Qt-MFC migration ist auch kein Hexenwerk ... die macht nich mal sonderlich viel
Für sein Vorhaben brauch er sowas nichmal vermut ich.
Knackpunkt ist und bleibt die QApp hochzuziehen. Und das ist in ner Dll nicht trivial ...
DllMain muss das ding erzeugen und zerstören ...
Ist die Dll die einzige und wird nur einmal geladen, isses auch ned schwer ... aber hasst du mehrere dlls die sowas machen und die selbe qt version nutzen oder ziehst ne dll mehrmals an, wirds schon bissi kniffliger ...
und die absolute katastrophe ist, wenn das loadlibrary deiner Dll nicht im mainthread aufgerufen wird ... dann explodiert so ziemlich alles
Ciao ...
-
Scary Hallo
Re: qt-dll für MFC-Projekt
@RHBaum: Ich kann die dll schon im mainthread laden. Daran soll es nicht liegen. Sind schon mehrere dll's die im Hauptprojekt geladen werden. Auf eine gemeinsame QT-Version kann man sich da schon einigen.
Ich glaube ich versuche es einmal. Danke an alle für die Hilfe.
Ich glaube ich versuche es einmal. Danke an alle für die Hilfe.