Mit QT aus DLL *.cpp und *.h generieren

Alles rund um die Programmierung mit Qt
Antworten
wedi
Beiträge: 2
Registriert: 3. April 2006 16:40

Mit QT aus DLL *.cpp und *.h generieren

Beitrag von wedi »

Hallo,

ich will eine DLL zu meinem Project hinzufühgen, aber habe weder Header noch Library für die DLL.
Das ist eine ActiveX DLL, die auch registriert ist. In VBA(Excel, Word) ist diese Activex-Komponente sichtbar. In MS VS6 und QT ist sie nicht sichtbar. In MS VS6 ist es einfach: im Klassenassistänt können aus einer DLL die *.cpp und *.h erstellt werden und dem Projekt zugefühgt.

Wie funktioniert das in QT? Wie kann eine Activex-Kommponente eingebunden werden?

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

Beitrag von Christian81 »

Das hat zwar (meiner Meinung nach) rein garnichts mit Qt zu tun (sondern eher mit Wnidows-Programmierung), aber schau einfach mal hier:
http://msdn.microsoft.com/library/defau ... 4fe376.asp
http://msdn.microsoft.com/library/defau ... 4fe376.asp
Ist eigentlich ganz einfach, habe nur atm nichts gutes beim Suchen gefunden...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Shadow
Beiträge: 92
Registriert: 27. August 2005 18:15
Wohnort: Iserlohn
Kontaktdaten:

Re: Mit QT aus DLL *.cpp und *.h generieren

Beitrag von Shadow »

wedi hat geschrieben:Hallo,

ich will eine DLL zu meinem Project hinzufühgen, aber habe weder Header noch Library für die DLL.
Das ist eine ActiveX DLL, die auch registriert ist. In VBA(Excel, Word) ist diese Activex-Komponente sichtbar. In MS VS6 und QT ist sie nicht sichtbar. In MS VS6 ist es einfach: im Klassenassistänt können aus einer DLL die *.cpp und *.h erstellt werden und dem Projekt zugefühgt.

Wie funktioniert das in QT? Wie kann eine Activex-Kommponente eingebunden werden?

Danke
So schonmal gar nicht !! :)
Du verwendest bitte dafür ausschließlich QT-PlugIns und/oder QT-ActiveX DLL's, die mit der Version 4.xx eingeführt wurden.
Alles andere hat keinen Zweck und wird fehlschlagen, da der QPlugin-Loader keinen Einstiegspunkt in deiner DLL finden wird, der generiert wird, wenn du ein echtes QT-Plugin erzeugst. Genaugenommen generiert der MOC-Compiler enstprechende Einstiegspunkte dafür.
Zum anderen solltest du darauf achten, NUR DLL's zu verwenden, die mit der gleichen Version von QT wie die Hauptapplikation compiliert wurden, UND zum anderen im selben Modus, sprich: DEBUG oder RELEASE, UND benenne bitte die Erweiterung *.DLL nicht in irgendein Kürzel um. Dies wird ebenfalls vom QPluginLoader NICHT akzeptiert.
Dies sind harte Vorgaben von QT, allerdings ist dies auch nicht anders machbar, da man sonst das MOC-Konzept diesbezüglich über den Haufen schmeissen müsste und auch nicht so schön mit den ganzen Schnittstellen über qobject_cast<> arbeiten könnte, u.s.w, u.s.w....
Antworten