Hallo zusammen,
die letzten Posts sind ja schon eine Weile her, nun mal wieder eine Ergänzug.
Ich habe vermutlich den Fehler gefunden. Jedenfalls habe ich im normalen Betrieb keine Neustarts mehr erlebt, lediglich wenn ich das ganze System mal wieder "gequält" habe ( etliche Programme am laufen, die z.T. den Rechner stark ausgelastet haben). Da kam dann auch mal Studio aus dem Tritt. Wie gesagt, in diesem Fall sitzt das Problem vor dem Bildschirm
Woran lag es nun? Ich habe ein Makro laufen, welches ermittelt ob Ferien sind oder nicht. Davon abhängig sind diverse Lichtsteuerungen etc. In dem Makro ist eine einfache Abfrage, in etwa so:
Code: Alles auswählen
UhrDatum:=Datum
wenn UhrDatum zwischen "01.01.09" und "11.01.09" oder
UhrDatum zwischen "04.04.09" und "19.04.09" oder
UhrDatum zwischen "11.07.09" und "23.08.09" oder
UhrDatum zwischen "10.10.09" und "25.10.09" oder
UhrDatum zwischen "19.12.09" und "09.01.10" oder
UhrDatum = "01.05.09" oder
UhrDatum = "21.05.09" oder
UhrDatum = "01.06.09" oder
UhrDatum = "11.06.09" oder
UhrDatum = "03.10.09" dann ....
.
Nach dem Ende der Winterferien wunderte ich mich dann, warum immer noch Ferien gemeldet wurde. Ich kontrollierte die Makros, aber es fiel mir erst mal nichts auf. Dann irgendwann entdeckte ich, dass ich alle "Datum's" im Jahr 2009 mit ausgeschriebener Jahreszahl, also z.b. 11.01.2009 eingetragen hatte. Die Fehler waren natürlich schnell behoben und seither habe ich die eingangs genannten Probleme nicht mehr.
ABER: zwischenzeitlich habe ich natürlich auch noch ein paar Dinge eingebaut sowie Studio auf die jeweils neueste Version umgestellt. Dadurch kann ich nicht 100% sagen, dass es daran lag. Aber vielleicht war es das ja.
Der Fehler trat auch immer nur auf dem Arbeitsrechner mit der FHZ auf, am Laptop gabs nie ein Problem.
Nun könnte ich ja den Fehler wieder einbauen, um den Beweis anzutreten, aber dafür gibt es im Moment einfach zu wenig Zeit. Ich bin froh (WAF natürlich auch!!) wenn das Ding zuverlässig läuft, und das tut es gerade (schon seit 2 Wochen....)
Trotzdem habe ich SaveValCheck.exe noch weiterentwickelt:
Es müssen SaveValCheck.exe, ExecstudioCo.exe sowie Bümpis SaveVal.exe im SPG-Verzeichnis sein.
In Studio legt man ein Zeichenobjekt an mit einer Variablen z.B. Autostart vom Typ Zeit.
Nun kann man im Autostart-ordner einer Verknüpfung anlegen mit dem Ziel
x:\Pfad\SPG\SaveValCheck.exe Zeichenobjekt.Autostart
mit Ausführen in: x:\Pfad\SPG
Damit wird das Programm beim Rechnerstart gestartet und ist dauerhaft verfügbar. Sichtbar ist es an einem grünen H im Systray.
Was macht es? Zuerst einmal: es ist ein kompiliertes Autohotkey-script, welches sehr wenig Ressourcen verbraucht. Es lauert im Hintergrund und prüft alle 10 sec, ob sich das Datum der SaveVal
i.csy geändert hat. Bei bestimmten (offensichtlich nicht allen??) automatischen Starts von Studio wird die Saveval
i.csy neu geschrieben.
Wird ein neues Datum erkannt werden die Dateien SaveVal.csy und SaveVal
i.csy unter SaveValBackupYYYYMMDD-HHMMSS.csy sowie SaveVal
iBackupYYYYMMDD-HHMMSS.csy im selben Verzeichnis gesichert. Anschliessend wird ein Verzeichnis tmpSaveVal im SPG-Verzeichnis erstellt (falls nicht vorhanden) sowie Bümpis Tool dort hin kopiert. Danach wird jeweils die Saveval.csy und die SaveVal
i.csy in das Verzeichnis kopiert und mit Bümpis Tool in eine lesbare Datei umgewandelt. Sind beide umgewandelt stehen sie unter Saveval_.txt sowie Saveval
i.txt in diesem Verzeichnis. Bei mehreren Neustarts werden die umgewandelten jeweils überschrieben, die Backups im SPG-Verzeichnis werden aber jeweils mit dem aktuellen Zeitstempel gespeichert.
Weiterhin wird eine Textdatei Saveval
ilog.txt geschrieben. Darin werden die Neustarts aufgelistet, der neueste jeweils am Anfang der Datei. Zusätzlich wird ein Neustart für 30 sec mit einem Tooltip angezeigt. Sieht etwa so aus:
- 0000318455_350_cr.jpg (16.16 KiB) 4230 mal betrachtet
Nach Ablauf dieser 30 sec wird dann per ExecstudioCo die o.g. Zeitvariable gesetzt und kann in Studio zur Anzeige gebracht werden. Die 30 sec. sollten für einen Neustart ausreichend sein. Bei Bedarf kann ich das aber auch ändern oder als Parameter mitgeben.
Auch wenn die Dateiinhalte (also die Variablenwerte) nicht zur Fehlersuche beitragen, so hat man doch immerhin ein Log, in dem sich die Neustarts verewigen. Bei mir läuft die Steuerung oft Tagelang ohne "Betreuung" und da ist es zumindest hilfreich zu sehen, ob es mal irgendwo gehakt hat.
Wer das Ganze brauchen kann und die Dateien entsprechend kopiert hat sowie das Objekt angelegt hat kann einfach testen, ob es funktioniert: mit einem einfachen Texteditor die SaveVal
i.csy öffnen und wieder speichern. Dann sollte das oben beschriebene ablaufen.
Viel Spaß damit und möglichst wenig "Neustarts".
sanys
P.S. @buempi: ich habe auch mal die Saveval.csy gelöscht und neu gestartet, danach waren natürlich alle möglichen Variablen nicht so, wie sie sein sollten, aber ob es insgesamt etwas gebracht hat kann ich nicht sagen. Die Struktur der Datei hat sich jedenfalls nicht geändert.
P.P.S. ... man sollte eine Datei auch hochladen..... sorry