PB 怎么在其中创建一个按钮,点击它将关闭窗 口和应用程序

PB 怎么在其中创建一个按钮,点击它将关闭窗 口和应用程序,第1张

窗口的close或closequery事件中写以下代码

if messagebox("提示","是否退出?", Question!, YesNo!) = 1 then

RETURN 0

else

return 1

end if

1、问题现象:当在powerbuilder中插入OLE控件点击insert control时,应用程序自动关闭,如图

在网上查询时有人说是其他ocx(如金山,超星)冲突而导致的,毕竟现在的软件很多很多,怎么知道是那个软件冲突造成的呢?

2、原理分析

当我们点击OLE控件中的insert control时,pb会搜索那些控件可用,并且在PB中显示出来。

PB搜索控件的位置为:注册表中的"HKEY_CLASSES_ROOT/CLSID"下的子项(为DLL、OCX文件注册信息)

搜索到保存的位置在:"HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/8.0/OLE Object Bitmaps/..."

也就是说pb搜索CLSID的子项保存在OLE Object Bitmaps中,当搜索CLSID中的DLL或OCX控件和PB有冲突时,CLSID后面的DLL、OCX控件就不会保存在OLE Object Bitmaps中,也就是说OLE Object Bitmaps没有完全加载所有控件,有的控件冲突导致中断使PB报错,找出冲突的控件是关键。

3、实战

(一)运行注册表

(二)在注册表中找到“HKEY_CLASSES_ROOT/CLSID”并导出保存为CLSID.REG,并且用记事本打开


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12037531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存