问题:
    (在同一台机器上,)用VB编ActiveX DLL组件,编译后能被客户程序正常调用,但是如果将此组件编译为ActiveX EXE组件,则同样的客户程序不能调用,出现错误430,原因在哪里?

解决方案 »

  1.   

    是不是客户程序没有找到ActiveX EXE?ActiveX EXE是不是在客户程序的路径下,或者系统目录下。
      

  2.   

    客户程序可以找到ActiveX DLL?是因为DLL是注册的,在哪都能找到。
      

  3.   

    以前我也见过这个问题。
    试试将原来的Active DLL 用regsvr32将原来的active dll    unregister,再重编译一下activeX exe试试,成功了回一个。
      

  4.   

    感谢各位,问题已解决.
        原问题未说清楚,重新说明一下:(在同一台机器上,)用VB编ActiveX  EXE组件,编译后,客户程序调用成功。后经改造,再编译,客户程序调用失败。改变工程类型为ActiveX  DLL组件,编译后能被客户程序正常调用。但是再将此组件编译为ActiveX  EXE组件,则同样的客户程序不能调用。
        解决方法是:将服务器工程属性的“工程描述”改变一下(“工程描述”是客户工程从“引用”列表中看到的组件名称),再编译,编译时将可执行文件名称也改变一下(这可能无关紧要)。然后在客户工程中重新“引用”组件,重新编译,即成。
        因为ActiveX  EXE组件在同一台机器上注册以后,即使将组件文件移动到另外的文件夹,也不影响客户程序的调用。设想:如果取消原来的注册,再重新注册,可能也行,如kuhe君所言。
        
        另外,上几次结帖时给分没能生效,结帖方法:输入密码->分别为回复人填入分值->结帖.出错在什么地方?
        现在结帖,如果仍不能生效,希谅!