Problem mit settings.xml

Hallo,

ich habe das Problem, das die settings.xml nach einem Neustart von IPS komplett zerschrieben wird, wenn sie einen Fehler enthält.

Was habe ich getan? Also, ich lese mit dem WWWReader eine Wetterdienst Webseite und speichere mit dem Parser einen Wetterbericht in eine Variable. Diese Variable enthält nun einen größeren Text und jede Menge HTML Code.

An dieser Variablen in der settings.xml bleibt dann IPS beim Neustart mit einer Fehlermeldung hängen. Beim nächsten Neustart von IPS, startet das System dann mit einer leeren settings.xml.

IPS müsste beim Start die Settings auf XML Strukturfehler überprüfen und im Fehlerfall z.B. eine alternative settings.xml laden.

So weit die Theorie… :o

Grüße, Keule

Hallo Keule,

das loest aber das Problem nicht. Der Datenbereich in Deinem Fall ist ja das Problem und offenbar wird dieser nicht XML konform gespeichert. Da muss paresy bei der Fehlersuche ansetzen. Nur wenn man die Ursache beseitigt, loest man das Problem. Das trifft offenbar grundsaetzlich auf STRING Variable zu, denn wir hatten diesen Fall auch bei der Verarbeitung von eingelesenen Buffervariablen der COM Schnittstelle (beim BHKW von msr_junky).

Gruss Torro

Kannst du mir soeine „zerschriebene“ settings zukommen lassen?

Das wäre super.

Gute Nacht, paresy

hmm, für html speicherung war der parser eigentlich nicht gedacht… da muss man wegen der tags wahrscheinlich quoten…

Hallo Olli,

naja, nicht nur die HTML Tags machen eventuell Probleme, sondern auch Binaerdaten, die beim Lesen von Daten ueber die COM Schnittstelle rein kommen und direkt in die Variable abgelegt werden…

Eventuell muss man hier die STRING Variable grundsaetzlich immer kapseln…

Gruss Torro

@Keule

eigentlich kannst du deine daten doch auch ohne den xml-parser direkt in einen ips-string speichern, oder?

ansonsten könnte man die html-daten auch in eine externe datei schreiben um sie bei bedarf wieder einzulesen um sie dann auszugeben bzw. auszuwerten.

Hallo paresy,

ich kann dir momentan nur eine Settings zur Verfügung stellen, die die IPS Meldung „Settings Destroying“ erzeugt. Eigentlich bekomme ich sonnst noch eine IPS Fehlermeldung, bevor beim nächsten Start die Settings dann hin ist. Diese Meldung kann ich im Moment leider nicht reproduzieren. :frowning:

Wenn wieder eine defekte Settings habe,bekommst du diese natürlich. :rolleyes:

Grüße, Keule

Hallo Olli

na ja, ich wollte eigentlich den IPS internen TextParser benutzen und der speichert die Daten in eine IPS Variable. Mich wundert dabei nur, das IPS anstandslos mit dieser HTML Code gefüllten Variablen arbeitet, und das es nur beim Neustart Probleme gibt. :confused:

Grüße, Keule

Das gleiche Problem hatte ich auch mal… :frowning:

ich habs bisher nicht gelöst, weil ich noch keine Zeit hatte mich mehr darum zu kümmern.

Man könnte doch die Variable vom WWW-Reader einfach mit dem Shutdown-Script die Variable löschen… dann sollte der Inhalt auch nicht in den Settings gespeichert werden und diese dann nicht zerstört werden.
Mit dem Startup-Script holt man sich halt wieder die aktuellen Infos mit dem Reader

Hallo Retarius,

genau so mache ich das momentan, funktioniert auch ohne Probleme. Leider greift diese Variante nicht, wenn der Rechner sich „festfrisst“ oder „abstürzt“.

Da die settings.xml das Herz vom IPS ist, müsste man sich vielleicht doch überlegen, ob man im Falle einer defekten Datei, automatisch eine Notfall Settings laden kann.

Grüße, Keule