在开发的电脑上 一切正常。在一客户机安装后一执行到 Set myJob = CreateObject("XXX.XXX")就会出错:运行时错误13通用部分也声明了:Dim WithEvents myJob As XXX
说明下1。XXX为自己制作的一个ActiveX的EXE 以避免大量数据提交时电脑假死。  
      2。程序有多个ActiveX,但就这一个出问题。我试过用先 /UnRegServer 再 /RegServer, 但问题还是依旧现在实在想不到会是啥原因了, 大家有预见类似的问题吗~~

解决方案 »

  1.   

    用CoCreateInstance看看返回的错误代码是什么
      

  2.   

    额~~ActiveX的EXE也是用VB写的 
      

  3.   

    Dim WithEvents myJob As XXX Set myJob = CreateObject("XXX.XXX")你确认两个XXX是指向同一类型对象的?我觉得可能是两者分别存在于两个库里,其中一个是你以前的版本.
      

  4.   

    Set myJob = CreateObject("XXX.XXX") 昨天晚上我没写清楚,准确来说应该是Set myJob = CreateObject("XXX.YYY") XXX为ActiveX的名称,YYY为ActiveX里的类名
      

  5.   

    昨天晚上我没写清楚,准确来说应该是Dim WithEvents myJob As YYYSet myJob = CreateObject("XXX.YYY") XXX为ActiveX的名称,YYY为ActiveX里的类名
      

  6.   

    神奇~我把主工程里的引用去掉 再把ActiveX工程重新生成了次然后再选上发到客户那里测试 就不出现运行时错误13了 这是什么情况~
      

  7.   

    Dim WithEvents myJob As XXX.YYY 
    Set myJob = CreateObject("XXX.YYY") 
    你这样试一下,应该能好使
      

  8.   

    不知道原因就解决了........不算真正的解决.......我看还是你引用的库与CreateObject创建的对象所在库不是同一个库.
      

  9.   

    是同一个 通用部分的声明:
    Dim WithEvents myJob As CardOp调用处的:
    Set myJob = CreateObject("Card.CardOp")ActiveX文件:Card.exe  ActiveX里的类名为:CardOp=========想到一个可能的原因就是之前做一次大的更新时 把ActiveX的版本号从1.0.0改成了1.2.0 而版本兼容选的是工程兼容。不知道是否这个原因造成的? 因为今天我把主程序工程里的引用取消再重新勾上后,客户机上就回复正常了
    难道这就是工程兼容和二进制兼容的区别?
      

  10.   

    还有 老马你的BBS怎么打不开了 今天正好说下个程序瞧瞧的http://www.m5home.com/bbs/dispbbs.asp?boardid=28&Id=429&page=2
      

  11.   

    差不多是这样类名一样的,然而有几个库都有一样的类名提供,那么CreateObject估计是选到哪个算哪个.....