Tilbakeringings en class

Denne artikkelen viser hvordan du bruker en forekomst av en klasse som en callback.If du ville ha en windows tilbakeringing å kalle en forekomst av en klasse, bare erstatte TMyClass med klassenavn, og TMyClass.MyCallBack med din metode name.type TCallbackThunk = pakket rekord POPEDX: Byte; MOVEAX: Byte; SelfPtr: Pointer; PUSHEAX: Byte; PUSHEDX: Byte; JMP: Byte; JmpOffset: Integer; end; Var tilbakeringing: TCallbackThunk; begynner arvet Opprett; Callback.POPEDX: = $ 5A; Callback.MOVEAX: = $ B8; Callback.SelfPtr: = Selv; Callback.PUSHEAX: = $ 50; Callback.PUSHEDX: = $ 52; Callback.JMP: = $ E9; Callback.JmpOffset: = Integer (@ TMyClass.MyCallBack) - Integer (@ Callback.JMP) - 5; //Ring WinAPI her, passererCallBack på tilbakeringing proc, for eksempel EnumSystemLocales (TFNLocaleEnumProc (Callback), LCID_SUPPORTED); end; Anmeldelser



Previous:
Next Page: