Weitere Probleme mit Qt in Dlls

Alles rund um die Programmierung mit Qt
Antworten
Takki
Beiträge: 12
Registriert: 26. Januar 2007 03:58

Weitere Probleme mit Qt in Dlls

Beitrag von Takki »

Ich habe ein weiteres Problem in meinem Projekt, welches sich aus mehreren Dlls (und natürlich einer Exe) zusammensetzt, die alle Qt benutzen. Und zwar bekomme ich folgende Warnung von Qt angezeigt:

Code: Alles auswählen

QObject::killTimer: timers cannot be stopped from another thread
Der dazugehörige Qt-Code, der diese Warnung ausgibt:

Code: Alles auswählen

QThread *currentThread = QThread::currentThread();
    if (thread() != currentThread) {
        qWarning("QObject::killTimer: timers cannot be stopped from another thread");
        return false;
    }
Auf den ersten Blick sollte das Problem ja lösbar sein - es hat mit Threads zutun, nur a) lege ich keine weiteren Threads an, b) legen Dlls von sich aus soweit ich weiß auch keine eigenen an. Also warum meint Qt nun, dass irgendwo Code in einem anderen Thread ausgeführt wird? Und viel wichtiger, wie löse ich das Problem? ;)

Gruß,
Daniel
lepsai
Beiträge: 573
Registriert: 14. September 2004 21:33
Wohnort: Berlin
Kontaktdaten:

Beitrag von lepsai »

Gibt es womöglich Instanzierung von QApplication in einer Dll?
Takki
Beiträge: 12
Registriert: 26. Januar 2007 03:58

Beitrag von Takki »

Nein gibt es eigentlich nicht (es ist übrigens eine Console-App, also QCoreApplication); das einzige Application-Objekt wird in der main() aus der Exe heraus erstellt.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Da Du ja sowieso schon die Qt-Dlls neu kompiliert hast, setz doch einfach einen Breakpoint auf die Fehlermeldung und schau Dir den Backtrace an - ggf. siehst du ja dann wo es herkommt. :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Takki
Beiträge: 12
Registriert: 26. Januar 2007 03:58

Beitrag von Takki »

Also das Problem habe ich gelöst. Muss jetzt nurnoch rausfinden, wie ich das geschafft habe :)
Antworten