Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#1

Property einer Klasse als Var-Parameter einer Procedure übergeben

  Alt 8. Mai 2017, 10:59
Delphi-Version: 10 Berlin
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.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat