Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: Function/Procedure selbst als Parameter übergeben?

  Alt 16. Jun 2004, 18:13
Zitat von Kostas:
wie kann ich eine Procedure oder Function als Parameter einer
anderen Procedure oder Function übergeben?

.. Ist etwas schwer zu beschreiben ein Beispiel

Procedure ProcInnen;
begin
...
end;

procedure Aussen(MyProc :was?); <<<als Parameter ProcInnen übergeben
if irgendwas then MyProc <<< aufrufen
...
end;
Delphi-Quellcode:
// TProcedure ist in SysUtils deklariert
procedure Aussen(MyProc :TProcedure);
begin
   if Assigned(MyProc) then // prüfe auf nil Zeiger
      MyProc; // aufrufen
end;

// Test
begin
   Aussen(ProcInnen);
   Aussen(nil); // auch zulässig
   Aussen(Randomize); // auch zulässig, da Randomize dem Typ TProcedure entspricht
end;
Ein Beispiel, bei dem die Procedure auch Parameter hat findest du unter Code Library (nächster oder vorhergehender Arbeitstag)
Andreas
  Mit Zitat antworten Zitat