我最近用java开发文档管理系统, 要用到smart***.ocx控件,用来开发电脑用一个公司提供安装包(256M)注册了这个控件;
但要在java里面应用,我必须对这个ocx控件进一步封装为另外一个ocx控件(用delphi 开发)!!
   由于web的每个客户端都必须要注册smart***.ocx控件,我用Depends.exe 查出smart***.ocx相关的dll文件,然后copy 到system32目录下;
注册 run regsvr32  smart***.ocx, 提示注册成功---dllregistersever 成功!!
   但再用delphi 应用ocx 控件时,就出现 access violation at address  9987787 in module ***** 的错误。   我重新用安装包注册一遍,又可以正常使用。   请高手指点一二,谢谢~~  备注:我用run regsvr32  smart***.ocx注册后,有用delphi重新remove active 控件,再add这个控件,istall的,也有重新启动电脑的。   

解决方案 »

  1.   

    你要在开发环境的import activex中加入这个控件才行的
      

  2.   

       先谢了两位的回答!!  我是用Depends.exe把原来的smart***.ocx的相关的dll找到,
      跟smart***.ocx一起拿到其他pc注册,其他pc是没有开发环境的。(这是因为web调用我二次开发ocx要用到smart***.ocx控件)!!  我现在发现主要问题是:ocx控件不单包含dll文件,还有可能引用其他的ocx控件、或者字符集等其他文件。
     (我现在还没找到有类似工具,希望谁有相关资料提供一下)。  我目前的解决方法:是把原来的安装包里面的内容删除一些自己知道不相关文件,然后重新打一个包(临时策略,哈哈~~)。