delphi对话框确认问题
大家好!我的应用程序是用delphi编写的,用到了多线程。在三个线程中都用到了
if application.messagebox('忽略吗?',‘报警’,mb_yesno)=id_no then
begin
。。。
end
else
begin
end;
遇到问题:如果三个线程中的提示对话框同时出现的话,点击一个对话框的是或者否,三个对话框都消失。
请大家帮忙,我能否一个一个的点击对话框中的是或者否。
还有就是不用这种方式的对话框,请大家告诉我其他方式的对话框,能实现我的功能也行
先谢谢大家了
Application.MessageBox是呼叫API:MessageBox。
MessageBox是一個模態窗口,但只會對呼叫它的UI線程來說,是模態窗口。
所以,在三個線程UI線程中,三個模態窗口之間應該是不會互相影響的。
參考application呼叫messagebox的方法:
Result := Windows.MessageBox(Handle, Text, Caption, Flags);
這個handle是app的隱藏窗口,是主線程中的東西。
這樣使用是有問題的。
其他線程不應去這樣用。應該自己呼叫messagebox,第一個參數傳0或本線程的窗口handle
线程里面不好直接出窗口吧,最好发消息给主线程。
谢谢,一楼的朋友。按你说的我试了,程序好了
相关问答:
已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试
在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......
请问Delphi有树形控件吗?
怎样使用?
Ttreeview
treeview.items.addchild(nil(上级节点),'案发时发'(text));
raize 控件包里面有,csdn有下载的
查帮助TTreeView和TNode两个类
TTreeView ......
我在出库窗口写了个方法:ADOQueryBill 的bNum 字段的OnValidate方法 实现的是出库数量不能大于入库的数量,否则就重新输入数量,以下是我的代码:
procedure TFrmStockOut.ADOQueryBillbNum_Validate(Sender: TFie ......
我在网上找了个关于IEBHO的代码,然后按照哪个设置了,后来运行的时候出现
构建
[警告] Project2.dpr(14): File not found: 'MYbho.TLB'
[警告] Project2.dpr(16): File not found: 'MYbho.RES'
......