У меня есть простой поток, и внутри выполнения я пытаюсь вызвать EnumWindows () с адресом одной из функций, определенных в потоке.
Поэтому я пытаюсь сделать это: EnumWindows (@cbEnumWindowsClickOK, 0); где cbEnumWindowsClickOK - это EnumWindowProc, определенный внутри класса потока, например:
TAutoClickOKThread = class(TThread)
private
fExitEvent : THandle;
function cbEnumWindowsClickOK(Wnd: HWND; Info: Pointer): BOOL;
public
constructor Create(ExitEvent : Thandle);
procedure Execute(); override;
end;
Когда я пытаюсь это сделать, я получаю сообщение «Ошибка: требуется переменная», намекая на то, что он не интерпретирует @cbEnumWindowsClickOK как адрес. Если я переместу функцию в глобальную область (удалив ее из потока), она сработает.
Есть мысли о том, как я могу это исправить?