Sichtbarkeit von Klassenvariablen beim Datenaustausch

Ich stehe gerade etwas auf dem Schlauch.

Ich versuche, ein Delphi- SplitterModul nach PHP zu portieren. Die Erwartung war, wenn eine Modul-Instance läuft behält sie über die gesamte Laufzeit des IPS-Servers auch alle Klassenvariablen im Speicher. Eine laufende Funktion der Instance solte damit die Datenänderungen sehen, die über die Interfaces reinkommen und an die Klassenvariablen übergeben werden. Meine PHP-Modulfunktion macht nun genau das und wartet auf Antwort, bis sich die Klassenvariablen entsprechend den Daten oder Timeout geändert haben. Aber weder die Daten über ReceiveData vom IO noch die über einen Timer gesetzte Timeout-Klassenvariable werden geändert. Kann das mit PHP-Modulen überhaupt so gehen oder habe ich hier einen Denkfehler?

Tommi

Die PHP-Module funktionieren wie Scripte.
Sie werden erzeugt wenn IPS sie anspricht und dann wieder zerstört.
Du hast also weder die Möglichkeit Daten/Objekte im RAM zu halten noch auf irgendwas länger als 30sekunden zu warten.
Du hast im dem Sinne auch keine Interfaces. Nur public Funktion welche IPS (nach dem erzeugen einer PHP-Instanz) aufruft.

Michael

Danke, dann brauche ich bei mir nicht mehr zu suchen!
Eigentlich ist das aber doof. Nun muss ich wohl doch echte IPS-Variablen zum Zwischenspeichern nehmen. RegisterVariablen sollte ja auch nicht mehr genutzt werden.

Tommi

Paresy hat schon mal Abhilfe versprochen (Daten persistent vorhalten)… aber aktuell ist da die Prio wohl weiter unten.
IPS-Variablen haben zwar auch Nachteile, aber es passt mehr rein als in eine RegVar.
Michael