我想知道是否有可能實現這樣的事情:德爾福回調?
procedure waitandcall(time,@MyProcedureOrFunction)
其執行的函數或過程我已經創建了?
我不確定它們是否被稱爲回調。
我想知道是否有可能實現這樣的事情:德爾福回調?
procedure waitandcall(time,@MyProcedureOrFunction)
其執行的函數或過程我已經創建了?
我不確定它們是否被稱爲回調。
這是絕對有可能的,你甚至不需要你的功能之前。
事實上,所有的事件都是基於此。
開始通過定義類型爲你的函數/過程
type
TMyProc = procedure(Param1: Integer);
然後你可以使用你的程序鍵入任何地方,只要你的程序的簽名相匹配的類型。
如果您使用的是對象的方法,而不是一個簡單的過程/函數,你需要使用of object
type
TMyMethod = procedure(Param1: Integer) of object;
從內部調用你的回調,你可以使用這樣的事情:
procedure DoAndCallBack(MyProc: TMyProc)
begin
MyProc(1);
end;
回調恰恰都是那些被稱爲,和Delphi是完全能夠既創建和調用它們。它們也被稱爲函數指針。請參閱文檔中的Procedural Types。
謝謝你,快:)! – ELCouz
剛剛添加了一個關於如何使用回調的示例。 – ESG
如果我明白這意味着我可以通過任何程序? – ELCouz