pb 插入 ole 控件点击 insert control 时 pb 应用程序自动关闭解决思路
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、实战
(一)运行注册表
- 1
- 2
前往页