用API: MessageBox
而且,我发现,如果不封成DLL窗体,再怎么搞都不会出错/
上楼的哥们,我的Application.Messagebox算不算API呀?
另外,我的对话框有时会用于 非窗体(也就是说,有时单纯的DLL里要用,单纯的Unit也要用.我是把消息框写成一个自定义函数,我担心会不会是 Handle 引起的)
Application.Messagebox这是VCL中的方法。
我建议你用API:MessageBox试试:
MessageBox(0, '信息', '标题', MB_OK or MB_ICONINFORMATION);
类似这样。
大哥,我刚才试了一下,暂时是解决问题了,但请大哥再详细回答一下:
1. VCL的与API的有什么本质不同? 为什么我用Application的会有那种错误发生?
2. MessageBox(0 中的 0 作句柄是什么意思呢? 我要求绝对不能出现 消息框 显示在活动窗体后面的情况(因为我经常看到有的程序出这样的错误,使用户难以再操作下去)
3.我在网上查到资料,有的网友写:
MessageBox ( GetActiveWindow(), ...)
意思是获取活动社会分配的句柄,他们的方法用于非窗体时会不会产生找不到 ActiveWindow而出错的情况?
谢谢!
我的问题和你的类似,关注,就是有时调用application.messagebox()时,程序会失去活动状态,不知道什么原因???关注
这个问题,我也碰到过,那时我对话框是写成公用函数的,后来出现对话框跑到窗体后面,于是对话函数体就增加了一个handle的参数