【发布时间】:2011-06-06 09:17:56
【问题描述】:
请告诉我:如何知道 TEvent 是否已发出信号?
点击停止按钮 = SetEvent(Events[1]);
我正在尝试解压缩档案,如果按下 STOP 按钮,则必须终止踏板并且必须中止解压缩。
我的代码:
procedure TForm2.ZipForge1OverallProgress(Sender: TObject; Progress: Double;
Operation: TZFProcessOperation; ProgressPhase: TZFProgressPhase;
var Cancel: Boolean);
begin
if Events[1]<>null then
begin
ThreadUpdating.Terminate;
Abort;
end else
form2.Update_ProgressBar.Position := Trunc(Progress);
end;
但是如果我按下 STOP-button(SetEvent(Events[1])) 什么都不会发生。
PS:我在一个线程中使用WaitForMultipleObjects(Event[1],Event[2])。事件 [1] 分两部分用作 STOP 信号:ZipForge1OverallProgress 和 WaitForMultipleObjects。
【问题讨论】:
标签: delphi events signals terminate