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
Mit QT aus DLL *.cpp und *.h generieren
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
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...
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
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: Mit QT aus DLL *.cpp und *.h generieren
So schonmal gar nicht !!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
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....