Hallo,
nein, ist nicht richtig.
Delphi-Quellcode:
procedure proc2(s: String; var x: Integer);
begin
if s='' then
begin
// diverser Code1
x:= 1;
end
else
begin
// diverser Code2
x:= 2;
end;
end;
procedure proc1;
var
s: String;
x: Integer;
begin
s:= 'Test';
x:= 10;
proc2(s,x);
x ist ? -> 2, weil in proc2 ja steht
// diverser Code2
x:= 2;
s:= '';
proc2(s,x);
x ist ? -> 1, weil in proc2 ja steht
// diverser Code1
x:= 1;
end;
Aber nu kommst !
Delphi-Quellcode:
procedure proc2(Max: String; var Moritz: Integer);
begin
if Max='' then
begin
// diverser Code1
Moritz:= 1;
end
else
begin
// diverser Code2
Moritz:= 2;
end;
end;
procedure proc1;
var
s: String;
x: Integer;
begin
s:= 'Test';
x:= 10;
proc2(s,x);
x ist ? -> 2, weil in proc2 ja steht
// diverser Code2
Moritz:= 2;
s:= '';
proc2(s,x);
x ist ? -> 1, weil in proc2 ja steht
// diverser Code1
Moritz:= 1;
end;
Die in proc1 definierte Variable
x hat nichts mit dem Parameter
x in proc2 zu tun!
Das war im Bsp. 1 einer Zufall. OK, war Absicht
In den Delphi-Quellen wird deshalb bei Parameter immer ein
A vorangestellt (
ARow).
Das dient einer besseren
optischen Unterscheidung zwischen Parametern und Variablen.