Hallo,
ist es möglich, wenn vom MainThread ein bestimmtes Signal kommt, dass dieses Signal der Event- Loop des QThreads ausführt??
Also was ich will:
Wenn Benutzer in der App auf einen bestimmten Button klickt, soll ein Slot im QThread aufgerufen werden.
Verbinde ich vom MainThread einen Slot vom QThread, so stürzt das Programm beim Aufruf des Slots ab.
Wie kann ich das lösen??
MainThread Signal -> QThread Slot
-
DBGTMaster
- Beiträge: 190
- Registriert: 19. August 2010 10:00
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: MainThread Signal -> QThread Slot
Signals/Slots funktionieren auch über Threadgrenzen hinweg.
Wenn es crasht ists ein Programmierfehler - aber ohne Code bzw. minimalen Beispiel kann man nichts machen.
Wenn es crasht ists ein Programmierfehler - aber ohne Code bzw. minimalen Beispiel kann man nichts machen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
ScyllaIllciz
- Beiträge: 200
- Registriert: 9. Juli 2010 19:31
Re: MainThread Signal -> QThread Slot
Ich würde als erstes meinen Debugger mal fragenWie kann ich das lösen??
Ansonsten minimales kompilierbares Beispiel1
Re: MainThread Signal -> QThread Slot
Fehlt ein "moveToThread(this) im CTor des QThreads..? Wenn das fehlt, wird der Slot im Kontext des MainThreads ausgeführt.. das muss zwar nicht garantiert zu einem Crash führen, ist aber sicher nicht so wie vom Entwickler erwartet..
-
DBGTMaster
- Beiträge: 190
- Registriert: 19. August 2010 10:00
Re: MainThread Signal -> QThread Slot
Hallo,
wollte ein minimal- kompilierbares Beispiel basteln, nur Problem ist, dieses lässt sich natürlich problemlos kompilieren und ausführen...
Werd dann mal, wenn ich Zeit finde, etwas debuggen müssen
// Edit: was hat es zu bedeuten, wenn der Debugger "<unavailable synchronous data>" bei der Variable this schreibt bei der Absturzstelle??
wollte ein minimal- kompilierbares Beispiel basteln, nur Problem ist, dieses lässt sich natürlich problemlos kompilieren und ausführen...
Werd dann mal, wenn ich Zeit finde, etwas debuggen müssen
// Edit: was hat es zu bedeuten, wenn der Debugger "<unavailable synchronous data>" bei der Variable this schreibt bei der Absturzstelle??
-
DBGTMaster
- Beiträge: 190
- Registriert: 19. August 2010 10:00
Re: MainThread Signal -> QThread Slot
Ok, hab meine Blödheit nun entdeckt
...
Hatte ein Objekt in einer Methode generiert, dieses aber nicht zurückgegeben, und dann mit dem nicht zurückgegebenen Zeiger auf Methoden zugegriffen, mich wunderts nur, dass das Programm nie früher abgestürzt ist...
Nun ein return eingefügt und jetzt läuft alles
lG
Hatte ein Objekt in einer Methode generiert, dieses aber nicht zurückgegeben, und dann mit dem nicht zurückgegebenen Zeiger auf Methoden zugegriffen, mich wunderts nur, dass das Programm nie früher abgestürzt ist...
Nun ein return eingefügt und jetzt läuft alles
lG
Re: MainThread Signal -> QThread Slot
So etwas sollte aber der Compiler anmeckern! Also immer brav die ganzen Warnings lesenDBGTMaster hat geschrieben:Nun ein return eingefügt und jetzt läuft alles