Scriptausführung der QScriptEngine unterbrechen
Verfasst: 15. Juli 2010 14:57
Hallo zusammen,
ich möchte mein Programm an dem ich gerade arbeite scriptbar machen. Dazu verwende ich die JavaScript Anbindung von Qt also die QScriptEngine.
Das funktioniert soweit auch. Nur habe ich jetzt das Problem, dass ich aus dem Script heraus ein Popup/Meldungsfenster oder ähnliches öffnen möchte. Dies habe ich über einen Aufruf eines Slots meiner C++ Klasse geregelt.
Allerdings möchte ich sobald im Script dieser Slot aufgerufen wird die Scriptverarbeitung pausieren, solange bis der Popup vom User wieder weggeklickt wurde. Dies geht standardmässig leider nicht, ich sehe zwar den Popup aber der Rest vom Script läuft weiter.
Um dies zu realisieren habe etwas mit dem QScriptEngineDebugger herumgespielt. Dieser bietet zwar die Möglichkeit die Scriptverarbeitung zu unterbrechen, jedoch scheint die ScriptEngine in einem anderen Thread zu laufen als der Rest vom Programm, wodurch nicht gewährleistet ist, dass die Scriptverarbeitung auch unterbrochen wird sobald ich den Popup-Slot aufrufe.
Kennt evtl. jemand eine bessere Möglichkeit, wie ich dieses "Unterbrechen" der Scriptausführung realisieren kann?
Danke schoneinmal für eure Hilfe .....
ich möchte mein Programm an dem ich gerade arbeite scriptbar machen. Dazu verwende ich die JavaScript Anbindung von Qt also die QScriptEngine.
Das funktioniert soweit auch. Nur habe ich jetzt das Problem, dass ich aus dem Script heraus ein Popup/Meldungsfenster oder ähnliches öffnen möchte. Dies habe ich über einen Aufruf eines Slots meiner C++ Klasse geregelt.
Allerdings möchte ich sobald im Script dieser Slot aufgerufen wird die Scriptverarbeitung pausieren, solange bis der Popup vom User wieder weggeklickt wurde. Dies geht standardmässig leider nicht, ich sehe zwar den Popup aber der Rest vom Script läuft weiter.
Um dies zu realisieren habe etwas mit dem QScriptEngineDebugger herumgespielt. Dieser bietet zwar die Möglichkeit die Scriptverarbeitung zu unterbrechen, jedoch scheint die ScriptEngine in einem anderen Thread zu laufen als der Rest vom Programm, wodurch nicht gewährleistet ist, dass die Scriptverarbeitung auch unterbrochen wird sobald ich den Popup-Slot aufrufe.
Kennt evtl. jemand eine bessere Möglichkeit, wie ich dieses "Unterbrechen" der Scriptausführung realisieren kann?
Danke schoneinmal für eure Hilfe .....