как сделать на ассембелере, в шелл коде Application.ProcessMessages() или Application.DoEvents() ? как это сделать через WinAPI?
Зачем? Просто создай thread (CreateThread) и укажи адрес своей процедуры в качестве параметра: Code (Text): invoke CreateThread, 0, 0, lpFunctionAdress, 0, 0, 0
function TApplication.ProcessMessage(var Msg: TMsg): Boolean; var Handled: Boolean; begin Result := False; if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin Result := True; if Msg.Message <> WM_QUIT then begin Handled := False; if Assigned(FOnMessage) then FOnMessage(Msg, Handled); if not IsHintMsg(Msg) and not Handled and not IsMDIMsg(Msg) and not IsKeyMsg(Msg) and not IsDlgMsg(Msg) then begin TranslateMessage(Msg); DispatchMessage(Msg); end; end else FTerminate := True; end; end;
почитай ицзелиона - он описывает, как на асме работать с сообщениями и колбеками. Правда, где его найти - вот это хз