Um er kurz zu machen, kann man bei mir mit foldendem Code auf eine Falschberechnung auslösen:
Delphi-Quellcode:
var
tmp : TDateTime;
tmp2: TDateTime;
begin
tmp := StrToDateTime('21.12.1993');
tmp2 := StrToDateTime('30.12.1899 00:10:00');
if (tmp= 0) or (tmp2 = 0) then;
tmp := tmp + tmp2; // 21.12.1993 00:09:59
end
Ich habe das ganze jetzt mal mit nem ShowMessage(DateTimeToStr(tmp)) ausgegeben lassen und siehe da, der Debugger zeigt mir einen falschen Wert an. Die Ausgabe des Dialogs ist korrekt.
Fazit: Traue nie einem Debugger. Danke für eure Unterstützung