Zeitvariablen werden nicht initialisiert
Verfasst: 04.10.2012, 10:51
Ganz schwerer Bug! Von dem ich eigentlich gar nicht glauben kann, dass der bisher noch keinem aufgefallen ist!
Ändert man im Muster-Objekt für einen Betriebsstunden-Zähler von buempi den Typ der Variablen AktuelleLaufzeit und TotalLaufzeit von Real in Zeit, werden diese nicht mehr mit den eingetragenen Startwerten initialisiert. Egal was ich dort eintrage: 00:00:00 oder "00:00:00" oder 0 oder 0,00000000. Als Variablen vom Typ Real (Zahl mit Startwert 0,000000) werden diese korrekt mit 0,0 initialisiert, wie man mit der Ablaufverfolgung nachprüfen kann. Die selben Variablen als Typ "Zeit" werden zwar auch initialisiert, aber anscheinend mit der Startzeit des Gesamtprogramms! Ich glaube kaum, dass dies ein beabsichtigtes Feature ist!
Ändert man im Muster-Objekt für einen Betriebsstunden-Zähler von buempi den Typ der Variablen AktuelleLaufzeit und TotalLaufzeit von Real in Zeit, werden diese nicht mehr mit den eingetragenen Startwerten initialisiert. Egal was ich dort eintrage: 00:00:00 oder "00:00:00" oder 0 oder 0,00000000. Als Variablen vom Typ Real (Zahl mit Startwert 0,000000) werden diese korrekt mit 0,0 initialisiert, wie man mit der Ablaufverfolgung nachprüfen kann. Die selben Variablen als Typ "Zeit" werden zwar auch initialisiert, aber anscheinend mit der Startzeit des Gesamtprogramms! Ich glaube kaum, dass dies ein beabsichtigtes Feature ist!
Code: Alles auswählen
** Makro im Aktor - Ausführung bei Änderung
** EinschaltZeit ist eine Variable vom Typ Zeit
** AktuelleLaufzeit und TotalLaufzeit sind Variablen vom Typ Zahl, Startwert 0,0
wenn Aktor eingeschaltet dann
EinschaltZeit := Zeit
sonst
EinschaltZeit := Zeit
AktuelleLaufzeit := Zeit - EinschaltZeit
TotalLaufzeit := TotalLaufzeit + AktuelleLaufzeit
endewenn