Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi "Gekapselte" Prozeduraufrufe innerhalb einer Prozedur (https://www.delphipraxis.net/143966-gekapselte-prozeduraufrufe-innerhalb-einer-prozedur.html)

Opa Knack 27. Nov 2009 02:12


"Gekapselte" Prozeduraufrufe innerhalb einer Proze
 
Hallo,

aus grauer Vorzeit habe ich die Erinnerung, dass ich Prozeduren innerhalb von Prozeduren kapseln kann, also z. B.

Delphi-Quellcode:
procedure TuEtwas;
begin

    procedure IrgendwasInnerhalb(Parameter);
    begin
    ....
    end;

    IrgendwasInnerhalb(Parameter1);
    IrgendwasInnerhalb(Parameter2);
    ...

end;
Nun bräuchte ich ein ähnliches Konstrukt, habe aber irgendwie den Wurm drin und kriege es nicht ans Laufen. Hintergrund ist, dass ich in der "Haupt"-Procedure Variablen definiere, die ich nicht global deklarieren will und die auch nicht als Parameter übergeben werden sollen. Über das obige Konstrukt kann ich diese Variablen mehr oder weniger direkt mitnutzen, somit habe ich mir diesen Umweg gespart. In der Praxis sieht das so aus, dass ich in der "Unter"-Procedure StringGrids auslese und diese zwecks Weitergabemöglichkeit in eine INI-Datei speichere (oder XML - man will ja mit der Zeit gehen *g*). Da ich mehrere Grids habe und jedes Grid mitunter einiges an Daten enthält, will ich möglichst performant alle Grids durchlaufen und dabei möglichst wenige Variablen verschwenden (Kinderlandverschickung dauert halt zu lange).

Hat jemand eine Idee, wo in meinem Quellcode oben der Fehler liegt?

Danke und Gruß
Opa

negaH 27. Nov 2009 02:30

Re: "Gekapselte" Prozeduraufrufe innerhalb einer P
 
das erste begin ist falsch.

Delphi-Quellcode:
procedure x;
var
  z: integer;

  procedure y;
  begin
    z := z +1;
  end;

begin
  z := 0;
  y;
end;

Opa Knack 27. Nov 2009 16:53

Re: "Gekapselte" Prozeduraufrufe innerhalb einer P
 
Hallo,

manchmal ist die Antwort so nahe, dass man sich an ihr beinahe die Nase anhaut...

Danke Dir :)

Gruß
Opa


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz