Mal angenommen:
Delphi-Quellcode:
type TMyRecord=record
//....
MeineVars:integer;
//.....
end;
var
MyVar:TMyRecord;
Wenn du jetzt übergebene Parameter ändern willst, dann sieht die Deklaration einer Funktion so aus:
procedure MyFunc(VAR Param:TMyRecord);
Wenn du es verhindern wills, dass die Funktion die übergebene Paramater ändert dann so:
procedure MyFunc(CONST Param:TMyRecord);
Und wenn es dir "egal" ist dann so:
procedure MyFunc(Param:TMyRecord);
Im letzten Beispiel werden alle Änderungen, die innerhalb von MyFunc stattgefunden sind (bezüglich Param Members) einfach ignoriert.Z.B.
Delphi-Quellcode:
procedure MyFunc(Params:TMyRecord);
begin
Params.MeineVars := 1000;
end;
Diese zuweisung ist nur innerhalb der Funktion gültig. Wenn du es "weiter" gelten lassen willst, dann musst du die Funktion (wie schon gesagt) so deklarieren:
procedure MyFunc(VAR Param:TMyRecord);