界面库

waitmessage 替代sleep
This commit is contained in:
JianjunLiu 2022-06-14 11:28:01 +08:00
parent c8d20b4daf
commit e4128f29a4
3 changed files with 7 additions and 3 deletions

View File

@ -593,6 +593,7 @@ type tapplication=class(tcomponent)
begin begin
tslprocessmessages(false); tslprocessmessages(false);
RunWorkerThreadLoop(); RunWorkerThreadLoop();
_wapi.WaitMessage();
end end
end end
{while (_wapi.GetMessageA(ptr, 0, 0, 0)) do {while (_wapi.GetMessageA(ptr, 0, 0, 0)) do
@ -9420,6 +9421,7 @@ public
begin begin
tslprocessmessages(false); tslprocessmessages(false);
RunWorkerThreadLoop(); RunWorkerThreadLoop();
w32.WaitMessage();
end end
////////////////////////////////////////// //////////////////////////////////////////
end end
@ -10394,6 +10396,7 @@ begin
begin begin
tslprocessmessages(false); tslprocessmessages(false);
RunWorkerThreadLoop(); RunWorkerThreadLoop();
API.WaitMessage();
end end
return-1; return-1;
////////////////////////////////////////////////////// //////////////////////////////////////////////////////
@ -10708,7 +10711,6 @@ begin
end end
function RunWorkerThreadLoop(); function RunWorkerThreadLoop();
begin begin
sleep(10);
class(TThreadWorker).dispatch(); class(TThreadWorker).dispatch();
end end
//procedure ClearScriptCache();cdecl;external "TSLInterp.dll" name "ClearScriptCache"; //procedure ClearScriptCache();cdecl;external "TSLInterp.dll" name "ClearScriptCache";
@ -10877,6 +10879,7 @@ begin
begin begin
tslprocessmessages(false); tslprocessmessages(false);
RunWorkerThreadLoop(); RunWorkerThreadLoop();
WPI.WaitMessage();
end end
//////////////////////////////////////////////// ////////////////////////////////////////////////
if not handle then break; if not handle then break;

View File

@ -6727,12 +6727,12 @@ begin
else else
begin begin
tslprocessmessages(false); tslprocessmessages(false);
sleep(10); //sleep(10);
end end
end else end else
begin begin
tslprocessmessages(false); tslprocessmessages(false);
sleep(10);//休息一下 //sleep(10);//休息一下
end end
unit(uvclthreadworker).RunThreadWorkerHost(); unit(uvclthreadworker).RunThreadWorkerHost();
end end

View File

@ -282,6 +282,7 @@ type twindowsapi = class
function PostMessageA(hWnd:pointer;Msg:integer;wParam:pointer;lParam:pointer):integer;stdcall;external "User32.dll" name "PostMessageA"; function PostMessageA(hWnd:pointer;Msg:integer;wParam:pointer;lParam:pointer):integer;stdcall;external "User32.dll" name "PostMessageA";
function GetMessageA(lpMsg:pointer;hWnd:pointer;wMsgFilterMin:integer;wMsgFilterMax:integer):integer;stdcall;external "User32.dll" name "GetMessageA"; function GetMessageA(lpMsg:pointer;hWnd:pointer;wMsgFilterMin:integer;wMsgFilterMax:integer):integer;stdcall;external "User32.dll" name "GetMessageA";
function PeekMessageA(lpMsg:pointer; hWnd:pointer; wMsgFilterMin:integer; wMsgFilterMax:integer;wRemoveMsg:integer):integer ;stdcall;external "User32.dll" name "PeekMessageA"; function PeekMessageA(lpMsg:pointer; hWnd:pointer; wMsgFilterMin:integer; wMsgFilterMax:integer;wRemoveMsg:integer):integer ;stdcall;external "User32.dll" name "PeekMessageA";
function WaitMessage():integer ;stdcall;external "User32.dll" name "WaitMessage";
function PostQuitMessage(code:integer);stdcall;external "User32.dll" name "PostQuitMessage"; function PostQuitMessage(code:integer);stdcall;external "User32.dll" name "PostQuitMessage";
function PostThreadMessageA(idThread:integer ;Msg:integer;wParam:pointer;lParam:pointer):integer;stdcall;external "User32.dll" name "PostThreadMessageA"; function PostThreadMessageA(idThread:integer ;Msg:integer;wParam:pointer;lParam:pointer):integer;stdcall;external "User32.dll" name "PostThreadMessageA";
function TranslateMessage(msg:pointer):integer;stdcall;external "User32.dll" name "TranslateMessage"; function TranslateMessage(msg:pointer):integer;stdcall;external "User32.dll" name "TranslateMessage";