ℹ️ Verfügbar ab QuickHMI 15 (Ultimate-Lizenz). Diese Version ist noch nicht veröffentlicht.
Ob ein Skript im Browser oder im Server läuft, legen Sie am Skript selbst fest. Es gibt keine getrennte Verwaltung und keinen eigenen Skripttyp: Sie schreiben Ihr Skript wie gewohnt auf der Seite Definition und setzen dort einen Haken.
Skript als serverseitig kennzeichnen
- Öffnen Sie im Editor die Skriptdefinition und wählen Sie das gewünschte Skript aus.
- Setzen Sie den Haken Auf dem Server ausführen.
- Speichern Sie das Projekt und übertragen Sie es wie gewohnt auf den Server.
Sobald der Haken gesetzt ist, wechselt die Liste der Codebausteine links auf die Server-API. Ein Doppelklick fügt den jeweiligen Baustein an der Cursorposition ein. Nehmen Sie den Haken zurück, erscheinen wieder die Bausteine für den Browser.
Lizenz
Serverseitige Skripte stehen ab der Lizenz Ultimate zur Verfügung. Ohne passende Lizenz lässt sich der Haken nicht setzen, und beim Öffnen eines Projekts, das serverseitige Skripte enthält, weist der Editor darauf hin.
Gemeinsamer Kontext
Alle serverseitigen Skripte eines Projekts teilen sich eine gemeinsame Umgebung, genau wie die Skripte im Browser. Eine Funktion, die Sie in einem Skript definieren, können Sie in einem anderen aufrufen. Die Skripte werden in der Reihenfolge geladen, in der sie in der Liste stehen.
Code, der nicht in einer Funktion steht, wird direkt beim Laden ausgeführt. Registrieren Sie Ihre Ereignisse deshalb entweder direkt auf dieser Ebene oder in qhmi.onServerStarted, wenn Sie warten möchten, bis die Datenquellen bereit sind.
Was im Editor anders ist
- Serverseitige Skripte erscheinen nicht in der Skriptzuordnung. Sie werden keinem Bedienelement zugeordnet, sondern laufen von selbst.
- Sie werden nicht an Browser ausgeliefert. Ihr Inhalt ist im Browser weder sichtbar noch abrufbar.
- Variablen, die nur in einem serverseitigen Skript vorkommen, gelten trotzdem als verwendet und werden vom Server gelesen.
Skripte testen
Serverseitige Skripte melden sich über qhmi.log, qhmi.logWarning und qhmi.logError im Serverlog. Das ist der übliche Weg, um während der Entwicklung nachzusehen, was ein Skript tut. Eine Ausgabe im Browser gibt es nicht, denn das Skript läuft dort nicht.
