[Qt 6.5.3 mit Visual Studio 2019] < /p>
Ich verwende einen Qjsengine in einem Worker -Thread. Einige Objekte meiner Anwendung sind über das Skript aus zugegriffen. Einige von ihnen leben in einem anderen Faden, z. Objekte umgehen Netzwerkkommunikation.
Ich möchte Signale dieser Objekte mit Skriptfunktionen verbinden. Die Verbindung funktioniert, aber die Skriptfunktion wird im Anrufer -Thread anstelle des Threads der Engine ausgeführt. Dies führt zu Abstürzen, wenn gleichzeitig der Motor andere Dinge in seinem eigenen Thread tut. (Qjsengine Nicht -Thread -Safe.) < /P>
Ich habe versucht, ein Kontextobjekt an Connect () zu übergeben, das den richtigen Thread angibt, es hat jedoch keinen Effekt. Der Thread wird nur umgeschaltet, wenn der Steckplatz eine reale C ++-Objektfunktion ist.
minimal Hauptfaden). Der Thread -Auslauf -Methode instanziiert ein QJSengine, veröffentlicht den QTimer in der Engine und führt ein kurzes Skript aus, das das Zeitüberschreitungssignal des Timers an eine Skriptfunktion verbindet. Problem: Die Skriptfunktion wird im Timer -Thread ausgeführt (= Hauptfache). < /P>
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
JsThread t;
t.start();
return a.exec();
}
< /code>
class TestObj : public QObject {
Q_OBJECT;
public:
Q_INVOKABLE void callcpp() {
qDebug()
Does anyone know how to force the JS code to be executed in the engine's thread?
[Qt 6.5.3 mit Visual Studio 2019] < /p> Ich verwende einen Qjsengine in einem Worker -Thread. Einige Objekte meiner Anwendung sind über das Skript aus zugegriffen. Einige von ihnen leben in einem anderen Faden, z. Objekte umgehen Netzwerkkommunikation. Ich möchte Signale dieser Objekte mit Skriptfunktionen verbinden. Die Verbindung funktioniert, aber die Skriptfunktion wird im Anrufer -Thread anstelle des Threads der Engine ausgeführt. Dies führt zu Abstürzen, wenn gleichzeitig der Motor andere Dinge in seinem eigenen Thread tut. (Qjsengine Nicht -Thread -Safe.) < /P> Ich habe versucht, ein Kontextobjekt an Connect () zu übergeben, das den richtigen Thread angibt, es hat jedoch keinen Effekt. Der Thread wird nur umgeschaltet, wenn der Steckplatz eine reale C ++-Objektfunktion ist. minimal Hauptfaden). Der Thread -Auslauf -Methode instanziiert ein QJSengine, veröffentlicht den QTimer in der Engine und führt ein kurzes Skript aus, das das Zeitüberschreitungssignal des Timers an eine Skriptfunktion verbindet. Problem: Die Skriptfunktion wird im Timer -Thread ausgeführt (= Hauptfache). < /P> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv);
JsThread t; t.start();
return a.exec(); } < /code> class TestObj : public QObject { Q_OBJECT;
public: Q_INVOKABLE void callcpp() { qDebug() Does anyone know how to force the JS code to be executed in the engine's thread?
Ich möchte eine Webanwendung mit der H2-Datenbank-Engine erstellen. Allerdings weiß ich immer noch nicht, wie ich die Daten sichern soll, während die Datenbank läuft, nachdem ich dieses Tutorial...
Bei der Durchführung einer statischen Analyse mit CPPcheck wurde die entsprechende Fehlermeldung im Slots -Teil gedruckt, aber ich weiß nicht, wie man diesen Teil löst. Kannst du mir helfen?...
Ich versuche, ein benutzerdefiniertes Laravel-Paket lokal zu installieren, indem ich es in die Pakete/das Verzeichnis meines Laravel-Projekts platziere. Autoloadkonfiguration:
autoload : {
psr-4 :...