Fernsteuerung nach Restart von IPSVIEW

Hallo zusammen,
wenn man eine Detailpage per Fernsteuerung aufruft und diese nicht ordentlich geschlossen wird, bleibt der Eintrag in der Fernsteuerung stehen. Die Folge ist, wenn man diese Seite wieder aufrufen möchte, funktioniert das nicht, da sich die Variable in der Fernsteuerung ja nicht ändert. Ich habe dann versucht, die Variable direkt davor zu löschen und sie dann wieder zu beschreiben, aber scheinbar ist das dann zu schnell und IPS/IPSVIEW merken es nicht und die Detailmaske geht wieder nicht auf.
Gibt es hier einen Trick oder müsste man die Fernsteuerung anstatt von einer Änderung von einer Aktualisierung abhängig machen ?

Grüße Frank

Moin,

bau einen sleep(1) zwischen dem Löschen und dem Initialisieren ein. Das sollte das Problem lösen :slightly_smiling_face:

Gruß
Hans

Hallo Hans,
danke für den Tipp. ich habe es mit mehreren sleep-Befehlen versucht und mit 20 hat es tatsächlich funktioniert. Allerdings geht das Fenster dann nicht mehr nach 3 Sekunden auf, sondern (logischerweise) erst nach über 20 Sekunden. Das ist natürlich dann zu langsam. Evtl. gibt es eine Möglichkeit, beim Start von IPSVIEW (über connect ?) bereits die Fernsteuerungsvariablen anzupassen … ? Oder die Funktion tatsächlich vom Aktualisierungszeitpunkt aus zu steuern.

Moin,

welcher Client und welche Version vom Studio - 4 oder 5? Wenn es der V 5 Win Client ist und du ein eher schwächeres Gerät hast, dann würde das die 20 s erklären. Bei mir dauert es auf einem NUC 5-6 s . Deshalb nutze ich unter Win den V4 Client.

Dieses Problem ist bekannt und von Andreas auch bestätigt. Alle Betroffenen warten deshalb auf den nativen V5 Win Client :slight_smile:

Gruß
Hans

Ich habe die aktuelle beta auf einem Win mit i5-System … sollte von der Kapazität her reichen :), aber die 20 Sekunden kommen doch vom sleep(20) …

Moin,

20 s erscheint mir zu hoch. Ich kann mich aber erinnern, dass ein User mit einem Surface i5 das Problem auch hatte, dass die Verzögerung zu hoch war.

Nimm den V 4 Client und lass diesen unter V 5 laufen dann solltest du keine Probleme haben :slight_smile: In dem Fall darfst du allerdings keine Objekte nutzen die es in V 4 nicht gibt.

Gruß
Hans

hm - sleep(20) sind doch 20 Sekunden - habe kein IPS_sleep genommen - das mit dem 4er-Client geht nicht, da ich über IPSVIEW Connect angebunden bin
Grundsätzlich verstehe ich es aber nicht, normalerweise müssten doch 1 Sekunde reichen, um zu erkennen, dass sich der Wert geändert hat, oder ?

Moin,

klar reicht normalerweise 1 s :slightly_smiling_face:

Aber wie gesagt der Win Client V5 hat leider das Problem. Vielleicht sagt Andreas ja noch etwas dazu.

Gruß
Hans

Dein Problem liegt in den SnapshotChanges, siehe https://community.symcon.de/t/speicher-fehler/124058.

Wenn der Refresh ordentlich läuft, dann sollte eine Sekunde meistens ausreichende sein. Allerdings hab ich es meistens so gelöst, dass ich beim Setzen der Remote Variable einen Timer setze und die Variable nach zB 10 Sekunden wird auf null setze :wink:

Wenn du für ein PopUp einen Timer setzst, dann geht das PopUp doch aber evtl. zu, obwohl es eigentlich noch offen bleiben sollte. Ich habe noch ein wenig herumgespielt und bemerkt, dass die Sync-Variable für ein PopUp nach einem Abbruch stehen bleibt - auch wenn man IPSVIEW wieder öffnet und die View neu geladen wird. Selbst wenn man dann in den nächsten Tab springt, bleibt die Sync-Variable unverändert. Sollten die Sync-Variablen nicht alle zurückgesetzt werden, wenn die View neu geladen wird und ist es gewollt, dass ein PopUp stehen bleibt, wenn der Tab gewechselt wird ?

ja, richtig, hatte bei meinem Beispiel mein Kamera Popup im Hinterkopf:
https://ipsview.brownson.at/?p=948

Wenn Du ein Blank verwendest, dann sollte das Popup aber offen bleiben.

Alternativ könntest Du die Server Variable zum Rücksetzen der Remote Variable verwenden (wenn Server Variable auf leer geht, dann Remote Variable löschen).

Du meinst mit der Server-Variable die Sync-Variable - das habe ich so gemacht, aber die Servervariable bleibt beim Neuladen der View nach einem Abbruch auch stehen … Im IPSVIEWConnect habe ich gesehen, dass bei Start der View ein GetSnapshot abgesetzt wird und im weiteren Verlauf ein GetSnapshotChanges. Könnte man daraus nicht irgendwie herleiten, dass die View frisch gestartet wurde ? Dann könnte man aufgrund dieser Info alles initialisieren :slight_smile: