Leider funktioniert das nicht zuverlässig. Es erscheint so, als ob beim Modulupdate die Version nicht korrekt ermittelt wird. Zumindest wird im Debug eine ältere Version protokolliert.
Mache ich da etwas falsch oder gibt es da Besonderheiten zu beachten?
das habe ich auch schon mehrmals bemerkt. Beim letzten Update habe ich danach mit Modul „erneut installieren“ die richtige Version angezeigt bekommen.
das scheint dann ja nicht an der Abfrage zu liegen.
Ja, dem ist auch so. Und auch bei IPS_LogMessage wird die korrekte Version in LogFile geschrieben.
Ich habe jetzt mit MC_ReloadModule gestestet und es sieht so aus, als ob der Create() zwar durchlaufen wird, aber ein enthaltener WriteAttributeString() wirkungslos ist.
Wenn dagegen der Service neu gestartet wird, dann wird ebenfalls der Create() durchlaufen und der WriteAttributeString schreibt dann auch den Wert weg.
Ich habe mir das Problem genauer angesehen und leider kann ich da nichts machen. Die Attribute werden erst nach Create initialisiert. D.h. wenn du im Create was schreibst, dann wirst dies beim Laden aus der Persistenz überschreiben. Warum es bei dir ab und zu geht: Wenn initial nichts in der Persistenz ist, wird auch nichts überschrieben.
Ich werde in die Doku entsprechend einen Hinweis hinzufügen und würde zur 6.1 auch passende Fehlermeldungen werfen, sobald man die Funktionen (Lesen ist auch nicht wirklich sinnvoll) nutzen will.
Ich meine beides. Lesen und Schreiben ist im Create nicht wirklich gut, da komisch Dinge passieren, wenn man nicht genau weiß, was da passiert (Beim Lesen hast du eigentlich immer den Default Wert)