- Код: Выделить всё
function AllocateHWnd(Method: TWndMethod): HWND;
begin
{ dummy }
runerror(217);
Result:=0;
end;
procedure DeallocateHWnd(Wnd: HWND);
begin
{ dummy }
runerror(217);
end;
Невидимым окном в delphi пользуюсь уже давно для асинхронной развязки с тредом, PostMessage, и тред работает дальше, не останавливаясь. Как же быть на Lazarus?
Lazarus 0.9.29 FPC 2.3.1
Добавлено спустя 1 час 58 минут 46 секунд:
Пришлось самому реализацию ручкам прикрутить. Но это не кроссплатформенно. Как вариант, в качестве асинхронной развязки пришла идея через Pipes. Но что-бы эффект был как от мессаджей, надо отдельный тред прикручивать, дальше отправлять мессадж в pipe и стрелять евент, а в треде на WaitForSingleObject(INFINITE) (наверное тоже не кроссплатформенно) скидывать евент, читать из Pipe и обрабатывать. Не очень красивое решение