Hallo zusammen,
hoffe einer von euch kennt das problem bzw. hat eine Lösung parat.
Habe schon in diversen anderen Foren gesucht und geschaut aber keine lsg
für mein Problem gefunden. Zudem bin ich nicht sicher was genau der Fehler ist.
Ich gebe die eine zeit vom Typ TDateTime aus:
z.b.
date ist 01.01.2000
bevor
Directx Instanz erstellt worden ist
showMessage(DateToStr(Date)); ///gibt 01.01.2000 aus
erstelle
directx Instanz
showMessage(DateToStr(Date)); ///gibt 31.12.1999 aus
Code:
procedure TSampleForm.FormActivate(Sender: TObject);
var
tmpDate:TShortDate;
begin
tmpDate:='01.01.2005';
showMessage(dateToStr(tmpDate)); /// shows 01.01.2005
InitDirect3D;
showMessage(dateToStr(tmpDate)); /// shows 31.12.2005
RunDirect3D;
ExitDirect3D;
HandleErrors;
Close;
end;
Vermutung:
Es kommt zu einem Converting Fehler wegen der Precision von Delphi zu C++.
-> Jahr wird wegen der ungenauigkeit in der xten stelle zum schaltjahr, warum auch immer...
Hoffe einer von euch kann mir mehr dazu sagen.
Gruß Mario