Nein, Currency ist eigentlich ein Int64, welcher als Festkommatyp interpretiert wird.
Delphi sieht ihn leider zu oft als Fließkommatyp an und übersieht erstmal andere Currency-Definitionen.
TDateTime ist auch ein Double.
Was du versuchen kannst ist die Reihenfolge zu tauschen (erst TDateTime und dann Currency)
oder ist dieses
Delphi-Quellcode:
type
TCurrency = type Currency;
...
protected
procedure Test(Value: TCurrency); overload; virtual; abstract;
procedure Test(Value: TDateTime); overload; virtual; abstract;
...
var
Value : TCurrency;
begin
Test(Value);
Ob das geht, ist nicht sichergestellt.
Aber direkt ist es nicht möglich Double und Currency zu mischen
Mein Ausweg war daher immer die Currency-Funktion umzubennen (TestC ... also überall ein C anzuhängen).