constructor Create(EventAttributes: PSecurityAttributes; ManualReset, InitialState: Boolean; const Name: string);DWORD WaitForSingleObject( HANDLE hHandle, // handle to object to wait for DWORD dwMilliseconds // time-out interval in milliseconds evtTmp : Tevent; evtTmp := Tevent.creat(nil,true,false,'testreasdfsad')//事件信号或临界句柄。 WaitForSingleObject(evtTmp,1000); //等待1000毫秒。(此时进程或线程挂起1000毫秒)
airhorse(编程至尊宝) 我刚看了你的,请帮我讲讲。这样的例子其时有很多(VCL) //以下如果执行了其它它马上返回了,但是这个TimeOut=$FFFFFFF //?????????? function TEvent.WaitFor(Timeout: DWORD): TWaitResult; begin case WaitForSingleObject(Handle, Timeout) of WAIT_ABANDONED: Result := wrAbandoned; WAIT_OBJECT_0: Result := wrSignaled; WAIT_TIMEOUT: Result := wrTimeout; WAIT_FAILED: begin Result := wrError; FLastError := GetLastError; end; else Result := wrError; end; end;
Var hMutex:THandle=0;procedure create; begin hMutex:=CreateMutex(nil,False,nil); end;procedure update; begin WaitForSingleObject(hMutex,INFINITE); end;procedure afterupdate; begin ReleaseMutex(hMutex); end; 我写的数据提交程序
to copy_paste(木石三) evtTmp := Tevent.creat(nil(1),true(2),false(3),'testreasdfsad'(4))//事件信号或临界句柄1:头,2:自动还是手工3:初始状态是有信号还是没信号5:事件名称(区别于其他事件);你的事件初始状态是信号吧? 查查看?
to ziyu() 其它过程函数调用了, 你的update后,它是不是马上返回执行下一条语句了。 但我看了那帮助是说调用它后,它要等待EventHandle中set to signaled state才会返回, 我糊涂了。
HANDLE hHandle, // handle to object to wait for
DWORD dwMilliseconds // time-out interval in milliseconds evtTmp : Tevent;
evtTmp := Tevent.creat(nil,true,false,'testreasdfsad')//事件信号或临界句柄。 WaitForSingleObject(evtTmp,1000); //等待1000毫秒。(此时进程或线程挂起1000毫秒)
我刚看了你的,请帮我讲讲。这样的例子其时有很多(VCL)
//以下如果执行了其它它马上返回了,但是这个TimeOut=$FFFFFFF
//??????????
function TEvent.WaitFor(Timeout: DWORD): TWaitResult;
begin
case WaitForSingleObject(Handle, Timeout) of
WAIT_ABANDONED: Result := wrAbandoned;
WAIT_OBJECT_0: Result := wrSignaled;
WAIT_TIMEOUT: Result := wrTimeout;
WAIT_FAILED:
begin
Result := wrError;
FLastError := GetLastError;
end;
else
Result := wrError;
end;
end;
hMutex:THandle=0;procedure create;
begin
hMutex:=CreateMutex(nil,False,nil);
end;procedure update;
begin
WaitForSingleObject(hMutex,INFINITE);
end;procedure afterupdate;
begin
ReleaseMutex(hMutex);
end;
我写的数据提交程序
查查看?
其它过程函数调用了,
你的update后,它是不是马上返回执行下一条语句了。
但我看了那帮助是说调用它后,它要等待EventHandle中set to signaled state才会返回,
我糊涂了。
大悟,哦,原来如此此,哈哈,谢谢
[email protected]