在WIN7 环境里PB里面添加控件OLE,选择insertcontrol选项卡就会报错自动关闭解决办法

转载 2012年08月30日 21:11:50

(说明:在网上搜了一些办法,都没解决,一是每个电脑不同,再就是权限不同,总结个人电脑win7下不同管理员账户登陆时的解决方案,本人电脑上PB9和PB10两个都已安装)

试试这个方法:

原理分析

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

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

搜索到保存的位置在:"HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\9.0\OLEObject Bitmaps\..."

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

解决办法:

(一)运行注册表(命令为regedit)

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

(三)在注册表中找到"HKEY_CURRENT_USER\Software\Sybase\PowerBuilder\9.0\OLEObject Bitmaps\..."中的最后一个子项,比如为“0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC”,证明这个子项前的控件都是正确的。

(四)在用记事本打开CLSID.REG,并且搜索OLE ObjectBitmaps最后一个子项比如为:“0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC”,一直往下查找,直到提示查找不到为止,到此为止,记事本以上的控件都是正确的。然后用关键字“ToolboxBitmap32”再往下搜索,找到第一个带“ToolboxBitmap32”和“control”关键字后,如图

证明这个出问题的控件为”C:\windows\system32\aliedit\aliedit.dll”然后在命令提示符中输入

进行对出问题的控件反注册,如果提示反注册成功,打开PB的OLE控件看是否报错,如果还报错返回步骤(三)循环查找。如果提示找不到路径,则在“HKEY_CLASSES_ROOT\CLSID”把对应的整个子项删除。一般只会有一两个控件有冲突,不用担心工作量会很大

也有一种情况,就是在记事本中找到的内容如下:

我们无法找到是哪个dll,这时去注册表CLSID 下面找到项{a41a4187-5a86-4e26-b40a-856f9035d9cb},展开,选择toolboxbitmap32,在右侧的窗口中双击那一行数据,将数值数据后面加上“,1”,原来应该是没有“,1”的,点击确定。打开PB的OLE控件看是否报错,如果还报错返回步骤(三)循环查找。

注:在win7系统下,系统默认的登陆账户可能是不超级管理员,无法修改注册表的值。会出现如下错误:

右击注册表中的项,选择权限,将用户赋上权限即可,如果赋值权限失败,则需要以超级管理员的身份登录,登录方法如下:

1、打开组策略(命令gpedit.msc)

2、选择计算机配置-Windows设置-安全设置-本地策略-安全选项,找到账户:管理员账户状态:改为启用状态。

3、在开始菜单里选择切换用户,这时在切换用户页面会出现administrator用户,用该账户登录后,打开注册表做相应的修改即可。

 

解决C#调用执行js报检索 COM 类工厂中 CLSID 为 {0E59F1D5-1FBE-11D0-8FF2-00A0D10038BC} 组件失败

IIS7的话。在应用程序池的高级设置中,启用32位应用程序。
  • bianjing40
  • bianjing40
  • 2016年12月01日 10:54
  • 1222

引用MSScriptControl.ScriptControl 在服务器上运行报错 字符转换公式

报错问题:   Retrieving the COM class factory for component with CLSID {0E59F1D5-1FBE-11D0-8FF2-00A0D1003...
  • zhongyuhuan1
  • zhongyuhuan1
  • 2016年05月06日 21:13
  • 924

MSScriptControl.ScriptControl控件使用问题

Windows Server 2008 R2,  MSScriptControl.ScriptControl控件使用的时候一直提示如下错误: 检索 COM 类工厂中 CLSID 为 {0E59F...
  • Humourer
  • Humourer
  • 2016年06月14日 11:46
  • 3367

通过RTTI使Delphi和JavaScript互通

转自:武稀松(wr960204)的博客
  • u012043539
  • u012043539
  • 2014年07月03日 08:54
  • 1090

pb插入ole控件点击insert control时pb应用程序自动关闭解决思路

1、问题现象:当在powerbuilder中插入OLE控件点击insert control时,应用程序自动关闭,如图在网上查询时有人说是其他ocx(如金山,超星)冲突而导致的,毕竟现在的软件很多很多,...
  • fcb_chenshi
  • fcb_chenshi
  • 2010年09月30日 11:02
  • 15749

解决PB中insert control出现内存错误的方法已经测试成功

  • 2011年07月17日 20:25
  • 552KB
  • 下载

解决 pb插入ole控件点击insert control时关闭他PB插入OCX控件程序崩溃问题

在PB里添加控件里面添加OLE控件时,当点击到第二标签或者第三标签程序直接崩溃 解决办法: 在运行里输入CMD ,进入DOS状态下,输入如下命令,可以批量注册*.DLL,*.ocx。 For %...
  • hfzsjz
  • hfzsjz
  • 2015年03月07日 22:09
  • 4893

PB9插入OLE INSERT CONTROL 控件非法解决方法

  • 2011年09月14日 20:28
  • 217B
  • 下载

pb webform下用ole对象连接服务器端excel com组件

  • 2014年12月31日 12:47
  • 303KB
  • 下载

关于Powerbuilder插入控件(insert control)时崩溃的问题

我的环境windows 7 64bit,Powerbuilder 12.5 试图
  • jqz1225
  • jqz1225
  • 2014年06月25日 10:33
  • 1745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在WIN7 环境里PB里面添加控件OLE,选择insertcontrol选项卡就会报错自动关闭解决办法
举报原因:
原因补充:

(最多只允许输入30个字)