一个最简单的多线程退出的时候显示无效的窗口句柄(30)

  • 主题发起人 主题发起人 abcde0909
  • 开始时间 开始时间
A

abcde0909

Unregistered / Unconfirmed
GUEST, unregistred user!
一个最简单的多线程,但是退出的时候显示无效的窗口句柄,大家看看到底哪里错了procedure trun;beginform2.ShowModal;end;procedure TForm1.Button1Click(Sender: TObject);varTempThreadID: DWORD;beginCreateThread(nil, 0, @trun, nil,0,TempThreadID);end;procedure TForm1.Button2Click(Sender: TObject);beginclose;end;一个最简单的多线程,但是退出的时候显示无效的窗口句柄,大家看看到底哪里错了
 
delphi的VCL不是安全的
 
感觉上是楼主的线程没有退出造成的! close 的时候应该先把线程退出, 然后释放你的窗口资源。 要不然线程还在运行, 而你的窗口资源已经释放了, 当然会出现问题了。 而且出现的错误还可能是无效指针错误呢!
 
procedure trun;begin Syn...( form2.ShowModal);end;
 
terminateThread(tempid)close;
 
你的主线程退出前没有先把子线程退出造成的。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部