zoukankan      html  css  js  c++  java
  • pb中用OLE Control 报错解决方法 (转载)

     

    pb中用OLE  PB奔溃解决

    问题现象:当在powerbuilder中插入OLE控件点击insert control时,应用程序自动关闭,如图pb中用OLE <wbr> <wbr>PB奔溃解决

    pb中用OLE <wbr> <wbr>PB奔溃解决

    在网上查询时有人说是其他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,并且用记事本打开

    pb中用OLE <wbr> <wbr>PB奔溃解决

    pb中用OLE <wbr> <wbr>PB奔溃解决


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


     

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

    pb中用OLE <wbr> <wbr>PB奔溃解决

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

    在CMD下  输入  regsvr32 /u c:\windows\system32\aliedit\aliedit.dll

     

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

    (五)大功告成

  • 相关阅读:
    使用 Rails Webpacker 安裝 Foundation 6
    如何验证 Email 地址:SMTP 协议入门教程
    PHPStorm.WebStrom等系列官方开发工具配置本地项目与运程服务器同步
    前端整合MathjaxJS的配置笔记
    支付宝2018年账单发布,更注重用户隐私保护
    公告!关于微信7.0安卓版已解决问题进展
    畅快买买买!购物类应用页面响应时间测评及优化建议
    是什么让我们走到最后,看完泪目!
    安卓绿色联盟执行组会议又双叒叕召开了
    华为如何打造智能终端的有趣灵魂?(上)
  • 原文地址:https://www.cnblogs.com/honliv/p/2145875.html
Copyright © 2011-2022 走看看