QextSerial in DLL

Alles rund um die Programmierung mit Qt
Antworten
Willi2793
Beiträge: 147
Registriert: 29. September 2008 10:59
Kontaktdaten:

QextSerial in DLL

Beitrag von Willi2793 »

hallo,

ich möchte gerne ein paar Geräte die per serieller Schnittstelle angeschlossen sind einheitlich ansteuern. Dazu wollte ich eine DLL schreiben die für die Anwendungs-Programme eine einheitliche Schnittstelle anbietet. diese anwendungsprogramme sind allerdings nicht mit QT geschrieben. Trotzdem möchte ich aus verschiedenen Gründen (Portabilität, in Zukunft werden wir immer mehr auf QT umstelen, ...) das Ganze mit "QextSerial" lösen. Dazu brauche ich aber für die Signal-Verarbeitung ja einen Eventloop.

Und jetzt stehe ich etwas auf dem Schlauch. Wie bringe ich eine Eventloop in einer DLL unter? GUI ist dabei kein Thema!

Grüße,
Willi
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Ich weiss ned was dein problem ist ....

Du kannst QT objecte (abgeleitet von QObject) in dlls auslagern, einfach ne dynamische qt library erstellen ....

verbinden tust die genau so ....
nen eigenes QApplication object brauchst nur, wenn nochmal nen eigenen thread rum baust, der selber Signale empfangen soll ...

Trotzdem prinzipiell:
QextSerial find ich in der 4.5er nimmer, kann es sein das das ding nimmer supported wird ?

Mit der QT impl schraenkst deine verwendung ein ... bist sicher, das du diese geraete niemals ohne qt ansprechen willst ?
Welchen vorteil bietet dir denn QExtSerial, das du diese Abhaengigkeit an die QT so gerne in Kauf nimmst ?

Ciao ...
Willi2793
Beiträge: 147
Registriert: 29. September 2008 10:59
Kontaktdaten:

Beitrag von Willi2793 »

Ich glaube Du hast meine Frage nicht ganz verstanden. Ich sagte ja das ich die DLL auch in Programme einbinden möchte die kein QT haben. Folglich muß ich den Eventloop in der DLL selber initiieren und auch beenden. Genau das ist mein Problem.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Ahhh ok ....

In der Doku zum migration kit steht bissi was drueber ....

http://doc.trolltech.com/solutions/4/qt ... rough.html

Du kannst in der dllmain aqlso nen (gloables) QApplication Object erzeugen ...

Trotzdem halt ich den einsatz der qt in deinem Fall ned fuer sinnvoll, aber iss deine Entscheidung.
DU gewinnst recht wenig (bissi paar komfortablere klassen,automatisches mappen auf den mainthread), verlierst aber auch einiges (Unabhaengigkeit).

Normal propagiert man genau den anderen weg. QT aus allen "Projecten" raus, wo es weniger Sinn macht. Der Vorteil: man gewinnt mehr libs/dlls die nur von basispaketen abhaengig sind, das heisst die Dinger sind um welten einfacher zu verteilen, anzupassen .... und koennen von leuten gepflegt werden, die keinen Plan von QT haben, bzw sich keine lizenz kaufen wollen !
Ich hab hier scho 2 major versionswechsel der QT mitgemacht ... grad in der zusammenarbeit mit plugins ist das das chaos ^^ sieht aesserst unschoen aus, wenn man bei nem prog gleichzeitig qt4 libs und qt3libs mit ausliefern muss, nur weil man einige Plugins ned umstellen konnte/wollte/keine Zeit zu hatte ^^
Andere bibs sind da um welten stabieler.

Ciao ....
Antworten