我在Dll中使用了线程的OnTerminate事件。代码如下:
TmyThread=class(TThread)
private
FOnRefreshCaption: TNotifyevent;
procedure DoTerminated(sender:TObject);
protected
procedure Execute;override;
public
constructor Create(CreateSuspended: Boolean);
end; constructor TmyThread.Create(CreateSuspended: Boolean);
begin
inherited Create(CreateSuspended);
OnTerminate:=self.DoTerminated;
end; procedure TmyThread.DoTerminated(sender: TObject);
begin
showmessage('done');
end;
当线成运行完毕后并不会触发OnTerminate事件,但是把线程做在exe里就没有问题。这是怎么回事啊。
TmyThread=class(TThread)
private
FOnRefreshCaption: TNotifyevent;
procedure DoTerminated(sender:TObject);
protected
procedure Execute;override;
public
constructor Create(CreateSuspended: Boolean);
end; constructor TmyThread.Create(CreateSuspended: Boolean);
begin
inherited Create(CreateSuspended);
OnTerminate:=self.DoTerminated;
end; procedure TmyThread.DoTerminated(sender: TObject);
begin
showmessage('done');
end;
当线成运行完毕后并不会触发OnTerminate事件,但是把线程做在exe里就没有问题。这是怎么回事啊。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货