und woher weis Tuwas, was er nun übergeben bekommen hat ?
Wenn die Methode nur mit bestimmte Einheiten arbeiten soll, hab ich hier nur die Möglichkeit, das über einen weiteren Parameter (nämlich die Einheit) und unterscheidet dann diese innerhalb der Methode.
oder
Es gibt für die entsprechenden Einheiten, entsprechende Überladungen.
"TuWas" wurde TWeight übergeben. Mehr muss "Tuwas" nicht wissen. TWeight ist ein Record welches ein Value mit der Einheit (z.B. "Gramm") besitzt. Über die Funktionen "FromKilograms( 10 )" wird automatisch in Gramm umgerechnet. So mache ich das auch seit einiger Zeit, seit ich Operatoren in Records kennen gelernt habe. Ich mache daraus noch ein "Property asKilogram" somit kann man in beide Richtungen arbeiten.
Das ergibt dann sowas wie
Delphi-Quellcode:
var
a:TWeight;
b:TWeight;
begin
a.asKilogram = 10;
b.asGramm = 10;
TuWas(a+b); // 1010gramm werden übergeben
end;