在DELPHI2007 MDI中,线程怎么无法控制窗体?(100分)

X

xwf_lj

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI2007中,在一个MDI窗体中使用了线程,比如说在线程中showmessage(form1.caption),没有反应,如果窗体中有Progress控件,也无法使用进度。
线程单元也USES 了窗体名,这是怎么回事?
 
可视化控件要线程同步。
 
用Synchronize也不行。
 
线程中showmessage(form1.caption)?
你尽量 不要有这种交互
Synchronize 也不行吗?
你看看 delphi 自带的那个 demo
Progress控件??
Self.Update;
Application.ProcessMessages;
?
 
尽量不要在线程中显示窗体!!!
因为窗体的显示是基于消息泵的
消息泵通常位于主线程中!!!!
你可以通过消息让主线程来显示对话框
SendMessage(Form1.Handle,你定义的消息);

如果一定要在线程中显示对话框用这个函数
Windows.MessageBox(0,'标题','文本', mb_ok)
 
顶部