我的程序有调用
类模块:Private WithEvents Sock As MSWinsockLib.Winsock
主程序:Private Mail As ClsMail请问和两这条语句有什么关系吗?所有DLL,所有OCX都打包给对方了,包括把VB的打包程序也用上了,还是一样的错误
Activex component can't create object
对象无法生成?
这是什么
对方是:2000系统
我是XP SP2!

解决方案 »

  1.   


    类模块:Private WithEvents Sock As MSWinsockLib.Winsock '定义Winsock控件主程序:Private Mail As ClsMail  '定义如上类的对象Activex component can't create object
    _____________________________________
    有没有将文件: mswinsck.ocx 打包进去?
      

  2.   

    如果你用到第三方控件,也需要将该控件ocx、dll添加入打包中
       我想,如果你的程序用不了,不能所有的程序都运行不了吧,看看是那个窗体不能运行,然后看看是那里有问题
      

  3.   

    就是整个程序都运行不了,一运行就提示出错!mswinsck.ocx 肯定打包进去了
    汗,把Package & Deployment 向导也用上了!还是无用!
    是不是在程序里加上什么代码?
      

  4.   

    XP SP2是向下兼容2K的,所以应该不是操作系统版本的问题。
    是打包不完全吧。在打包时把列出的所有项都选上。再看看自己用到的所有控件是否已经在列表里包含了,如果有没出现的,那就在那个步骤里选择“浏览”把其它的控件找到加进去。
      

  5.   

    程序中有没有使用动态创建对象的语句,比如说:set fso=createobject("FileSystemObject") '创建FilesystemObject须将scrrun.dll打包进去
      

  6.   

    思路:
    1)检查winsock控件是否存在版本冲突
    2)手动注册winsock控件及你自己输出的activex dll
      

  7.   

    1 winsock控件就是用VB自带的。也弄到对方的机器去了!
    2 已经手动让对方注册WINSOCK,我没有输入任何DLL!
    非常奇怪。第一次遇到。真的。大家帮帮我!!哭
      

  8.   

    应该是
    Private WithEvents Sock As MSWinsockLib.Winsock
    Private Mail As ClsMail  
    这两句的问题吧?你用的vb.net还是vb6?最好是
    Private WithEvents Sock As New MSWinsockLib.Winsock
    Private Mail As new ClsMail
    这样实例化类才不会出问题。
      

  9.   

    另外,检查一下第三方控件的依赖项,看看是否全了。不知你用的什么打包工具,建议先用vb自带的打包工具打一下,看看都打进去了哪些东西,然后再用别的工具打包。如果只用vB自带的打包工具打包,不要再xp环境下打包,最好在2000系统上。
      

  10.   

    建议换个打包软件,Setup Factory 7.0,直接可以导入VB工程文件.不妨试试.
      

  11.   

    唉,我更倒了,我的电脑是XPSP2,对方是XPSP1的,我用ADO在对方的电脑上居然也出错,妈妈的熊
      

  12.   

    用Setup Factory 7.0制作好后,给对方还是同样的出错,汗了1!
      

  13.   

    再次求助。。汗。。最后一顶了……help
      

  14.   

    xp的sp2确实有过不兼容一些程序的传闻啊,具体的我没有试过,你用自带的打包程序进行完全的打包看看,我说的是完全,还有你是否注册了Winsock控件,你自己再次重新注册一次看看也许会有收获
      

  15.   

    我看也不一定是Winsock的“错”,没准是其它什么OCX或者DLL给忘记了,另外就是VB的打包程序在下也实在是不敢恭维。汗~~~~
      

  16.   

    我曾经遇到过一模一样的问题(XP SP2下编译,2000下安装使用),最后发现是我用到的Spread控件,有几个OCX和DLL没有放用打包程序中。
      

  17.   

    我觉得有可能是没有在2000下注册你的ocx或dll,你写一个bat文件,把所有的ocx和dll都注册一遍试试,reg.bat中这样写regsvr32 *.ocx或regsvr32 *.dll,每行一个,我以前也遇到过这样的情况