while (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <> WAIT_TIMEOUT) do
加一個全域狀態字teminateit:boolean
while (not teminateit) and (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs, QS_ALLINPUT) <> WAIT_TIMEOUT) do
在視窗關閉前,把:teminateit:=true;
uj5u.com熱心網友回復:
sleep(1000);
sleep是會掛起程式造成卡死的大哥.
sleep就是等待。
uj5u.com熱心網友回復:
不要執行緒也可以實作 ,看下面。
procedure Delay(i_Msc:integer);
var
Msg:TMsg;
begin
//啟動一個定時器,間隔1000,定時器里sendMessage WM_USER+1000
try
獲取現在的時間GetTickCount
repeat
if GetMessage(Msg, 0, 0,0) then
begin
if Msg.Msg=WM_USER+1000 then
begin
獲取一個時間差
end;
end else
begin
if Msg.Msg=WM_QUIT then
begin
ExitProcess(0);
Exit;
end;
end;
until (定時到)
finally
//關閉定時器
end;
end;
uj5u.com熱心網友回復:
更正下:
procedure Delay(i_Msc:integer);
var
Msg:TMsg;
begin
//啟動一個定時器,間隔1000,定時器里sendMessage WM_USER+1000
try
獲取現在的時間GetTickCount
repeat
if GetMessage(Msg, 0, 0,0) then
begin
if Msg.Msg=WM_USER+1000 then
begin
獲取一個時間差
end else
begin
TransMessage(Msg);
DispatchMessage(Msg);
end;
end else
begin
if Msg.Msg=WM_QUIT then
begin
ExitProcess(0);
Exit;
end;
end;
until (定時到)
finally
//關閉定時器
end;
end;
眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......
值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......