Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Stringgrid: Scroll-Focus entfernen

  Alt 25. Apr 2019, 16:13
Hallo,
eine Prozedur hat keinen Rückgabewert, kann aber Rückgabeparameter (Referenzparameter) haben.


function Foo1(S: String): Integer;
S: Parameter
: Integer = Rückgabewert der Funktion

procedure Proc1(S: String);
S: Parameter

procedure Proc2(S: String; var X: Integer);
S: Parameter - Wertparameter
X: Parameter - Referenzparameter
Wird X in der Prozedur verändert, ändert sich auch der Wert der Variable das Aufrufers

procedure Proc2(S: String; var X: Integer; Y: Integer);
S: Parameter
X: Parameter
Y: Parameter = Referenzparameter
Wird X in der Prozedur verändert, ändert sich auch die Variable das Aufrufers
Wird Y in der Prozedur verändert, ändert sich die Variable das Aufrufers NICHT

Das var kann man sich wie einen Pointer (eine Referenz) auf die eigentliche Variable beim Aufrufer vorstellen, der an die Prozedur übergeben wird.

http://bergt.de/workshop/delphi/html/delphi39.htm
Heiko

Geändert von hoika (26. Apr 2019 um 08:34 Uhr)
  Mit Zitat antworten Zitat