Hallöle...
Bei sowas macht Programmieren keinen Spaß...
Gegeben:
* 2 DateTime Felder, 1 FloatFeld
* beide DateTime Felder haben den gleichen Eventhandler
Delphi-Quellcode:
procedure TDMED.FDQAktuelleTermineAnkunftChange(Sender: TField);
var
StartTime: TDateTime;
EndTime: TDateTime;
HourDifference: Double;
begin
HourDifference := 0.0;
StartTime := FDQAktuelleTermine.FieldByName('Ankunft').AsDateTime;
EndTime := FDQAktuelleTermine.FieldByName('Abkunft').AsDateTime;
if not FDQAktuelleTermine.FieldByName('Abkunft').IsNull then
begin
HourDifference := HourSpan(StartTime, EndTime);
end;
FDQAktuelleTermine.FieldByName('Dauer').AsFloat := HourDifference;
end;
Der User hat gesagt, er hat sich im Datum vertan und hat es korrigiert. Trotzdem ist der komische Wert stehengeblieben...
Wo kommt der Wert her?
PS: Ich kann es nicht repoduzieren. Es kommt immer das Richtige raus...
(auch bei 2099
(Bild2))
Nachtrag:
Der Wert 1078.... kommt raus wenn man den "Ankunft" Wert auf leer setzt. (Bild3) Dann stellt sich aber die Frage, warum wurde der Handler nicht ausgeführt?