![]() |
Funktion / Procedure eine Procedure übergeben?
Kann mir jemand sagen wie das geht? :gruebel:
Also ich habe in einer Klasse eine Logfunktion und will die in der Klasse in einer Procedure in einer anderen Unit benutzen... :twisted: Bye |
Re: Funktion / Procedure eine Procedure übergeben?
generalisiert so:
Delphi-Quellcode:
type
TMyProcedure = procedure(X,Y: Integer); //Parameter nur beispielhaft procedure MyProcedure(Proc: TMyProcedure); ... var AProc: TMyProcedure; begin AProc := SomeProcWith2Parameters; MyProcedure(AProc); end; |
Re: Funktion / Procedure eine Procedure übergeben?
Moin Christian,
meinst Du das so:
Delphi-Quellcode:
?
type
TDisplay = procedure(const AsMessage : string); implementation {$R *.DFM} procedure Display(const AsMessage : string); begin ShowMessage(AsMessage); end; procedure DoDisplay(const ADisplay : TDisplay); begin ADisplay('MELDUNG'); end; procedure TForm1.Button1Click(Sender: TObject); begin DoDisplay(Display); end; |
Re: Funktion / Procedure eine Procedure übergeben?
Hi,
so sollte es prinzipiell funktionieren:
Delphi-Quellcode:
:shock: Ich und langsam?? Niieee... :angel:
TYPE // Prozedur-Typ deklarieren
TMyProc = PROCEDURE (aTest : Integer); ... implementation // Eine Bsp.-Prozedur von obigem Typ PROCEDURE MyProc(aTest : Integer); BEGIN ShowMessage(IntToStr(aTest)); END; // Eine andere Bsp.-Prozedur von obigem Typ PROCEDURE MyOtherProc(aTest : Integer); BEGIN ShowMessage(IntToStr(aTest*2)); END; { Dieser Prozedur wird eine Prozedur übergeben } PROCEDURE MyTest(aProc : TMyProc); BEGIN aProc(7); END; {Beispiel-Aufrufe: } procedure TForm1.Button1Click(Sender: TObject); begin mytest(MyProc); end; procedure TForm1.Button2Click(Sender: TObject); begin MyTest(MyOtherProc); end; Gruß Stephan :dance: |
Re: Funktion / Procedure eine Procedure übergeben?
Die procedure die ich übergeben will ist eine Methode einer Klasse, da gehen eure Beispiele net :zwinker:
Denn so weit war ich auch schon :angel2: aber mit einem
Delphi-Quellcode:
gehts :wink:
Of Object
Ich bin heut zu plöd zu allem... bye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz