andrax - 2023-06-08

Hallo zusammen,

ich habe nach einem Tutorial aus dem Automtisierungskanal,
https://www.youtube.com/watch?v=W-SGX49QNH4
mir folgen Code im Projekt angelegt um wichtige Parameter zu speichern und bei einem Neustart vom Raspi wiederherzu stellen.

AppGetCurrent(pResult := ADR(stResult), AppGetCurrent => stApplication);

IF GVL_VisuData.xSaveSettings THEN
AppStoreRetainsInFile(pApp := stApplication, pszFilname := strFilename);
GVL_VisuData.xSaveSettings := FALSE;

END_IF

IF GVL_VisuData.xRestoreSettings THEN
AppStoreRetainsInFile(pApp := stApplication, pszFilname := strFilename);
GVL_VisuData.xRestoreSettings := FALSE;

END_IF

Prinzipiell funktioniert der Code, die Parameter werden im File gespeichert und stehen beim Neustart zur Verfügung.
Aber, xRestoreSettings funktioniert nicht. Zum einem werden keine Daten beim ausführen der Funktion zurückgeladen und zusätzlich wenn ich die Funktion aus meinen Code entferne, werden Die Daten aus dem File dennoch wieder hergestellt.
Wäre alles kein Problem, wenn nicht folgendes Phänomen wäre:
1. Ich kann das File nur einmal mit daten beschreiben. Wenn ich das File mit neuen Daten beschreibe, werden nur alte Daten wiederhergestellt.
2. Im PersistentVars, sind unter anderem Daten für einen Timer enthalten, "Logzeit : INT;. Jetzt läuft mein TON nicht mehr. Ich musste die Logzeit aus PersistentVars rausnehmen und und der Timer läuft wieder.

Meine Frage: ist die Funktion Fehlerhaft?
Und gibt es ein funktionierendes Sample?

Vielen Dank im Voraus.

Gruß

Andre