Ich habe folgende Function:
function TTestForm.AssignTheValue(aDescription:string; var aString1: String; aString2: String): Integer;
aString1 soll mit aString2 verglichen werden. Wenn die Werte unterschiedlich sind, dann soll aString1 den Wert von aString2 erhalten und das ganze wird protokolliert.
Gaaaanz einfache Procedure. Nix besonderes.
Nun möchte ich aber an aString1 das Property "Text" eines TEdit übergeben.
AssignTheValue('Ein Text', MyEdit.Text, 'blub');
Leider bekomme ich beim Compilieren die Fehlermeldung
Code:
[dcc32 Fehler] TestFormm.pas(4419): E2033 Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
Teoretisch müsste ich für TEdit eine eigene überladene Procedure Schreiben:
function TTestForm.AssignTheValue(aDescription:string; var aString1: TEdit; aString2: String): Integer;overload;
Aber ich will die Procedure universell halten.
Wie muss ich die Procedure AssignTheValue definieren, damit ich das String-property einer X-Beliebigen Klasse übergeben kann.