qt-dll für MFC-Projekt

Alles rund um die Programmierung mit Qt
Antworten
Scary Hallo

qt-dll für MFC-Projekt

Beitrag von Scary Hallo »

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ß
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: qt-dll für MFC-Projekt

Beitrag von brax »

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.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qt-dll für MFC-Projekt

Beitrag von Christian81 »

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
Scary Hallo

Re: qt-dll für MFC-Projekt

Beitrag von Scary Hallo »

@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
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qt-dll für MFC-Projekt

Beitrag von Christian81 »

Das kann aber auch nur funktionieren wenn eine QApplication und die Qt-MFC - Integration vorhanden ist.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: qt-dll für MFC-Projekt

Beitrag von RHBaum »

Das kann aber auch nur funktionieren wenn eine QApplication und die Qt-MFC - Integration vorhanden ist.
Ne QApp muss es geben klar.
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

Beitrag von Scary Hallo »

@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.
Antworten