Einzelnen Beitrag anzeigen

hoika

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

AW: Stringgrid: Scroll-Focus entfernen

  Alt 26. Apr 2019, 08:48
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.
Heiko
  Mit Zitat antworten Zitat