Hallo
habe jetzt nicht groß drübergeschaut, aber:
Zitat:
if(Time <> Timer) then begin
...
else begin
Timer1.Enabled := FALSE;
Tdatetime ist ein double-wert, darin enthalten sind auch die millisekunden ... Die Wahrscheinlichkeit, das time=timer ist und damit dein Timer1 gestoppt wird, ist nahe 0, da es schwer sein wird, genau diesen Punkt zu treffen.
Nimm besser
if time<= timer then
Mfg Frank