Delphi-Quellcode:
function VarStrToDate( Value : Variant; Default : TDate = 0 ) : TDate;
begin
if not TryStrToDate( Value, TDateTime(Result) ) then
Result := Default;
end;
Du kannst das ja gern mal an Emba melden, damit die den Result-Typ berichtigen.
Aber eigentlich sollten sie dann besser eine neue Veraiante einbauen und die alt belassen, auch wenn sie syntaktisch nicht ganz richtig ist.
- einmal würden sonst alle bestehenden Codes nicht mehr funktionieren, da dort ja bestimmt (gezwungenermaßen) mit TDateTime gearbeitet wurde
- und ein TDate passt ja auch in einen TDateTime rein
[add]
Ach ja, wenn sich der Variant nicht in einen String umwandeln lässt, dann gibt es dennoch eine
Exception.
Also entweder du fängst auch noch die ungültigen Variant-Typen ab, oder du kannst ganz einfach
StrToDateDef verwenden, anstatt deines VarStrToDate, welches das TDate-TDateTime-Problem nicht besitzt.