[gelöst] QObject::killTimers Multithreading

Alles rund um die Programmierung mit Qt
Antworten
cooky1976
Beiträge: 76
Registriert: 24. Januar 2008 00:19

[gelöst] QObject::killTimers Multithreading

Beitrag von cooky1976 »

Hallo,

ich habe ein MainWindow und daraus starte ich einen zweiten Thread mittels eine Buttons, welcher mir Daten für das MainWindow liefert. Der parallele Thread kommuniziert über Signal-Slots mit dem Hauptthread.
So ziemlich am Anfang erzeugt er eine QSplashscreen, die den User über den Fortschritt auf dem Laufenden hält.
Nachrichten werden über ein Signal printSplashMessage(QString) weitergegeben.
Das ganze habe ich dann im Hauptthread folgendermaßen konnektiert:

Code: Alles auswählen

connect(&threadHLA, SIGNAL(printSplashMessage(QString)), mainWin, SLOT(printSplashMessage(QString)), Qt::BlockingQueuedConnection);
Das BlockingQueuedConnection, damit er in dem Parallelthread erst weitergeht, wenn er die Meldung auf dem SplashScreen ausgegeben hat. Ich wollte mir hier keinen Mutex und eine WaitCondition antun.
Allerdings bekomme ich jetzt immer

Code: Alles auswählen

QObject::killTimers: timers cannot be stopped from another thread
Kann mir eventuell jemand einen Tipp geben, woher das kommt? Denn ich steige zu diesem Zeitpunkt noch nicht aus dem Programm aus, was Recherchen über Google ergaben.

Danke

Alexander
Zuletzt geändert von cooky1976 am 30. März 2009 13:02, insgesamt 1-mal geändert.
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Schwer zu sagen ohne Code. Hast du irgendwo was auf dem Stack angelegt?
cooky1976
Beiträge: 76
Registriert: 24. Januar 2008 00:19

Beitrag von cooky1976 »

Die Lösung lag' in der API, die in dem Thread verwendet wurde und blockiert hat ohne etwas zu "sagen" (Logs).

Manchmal muss man einfach nur darüber schlafen
Antworten