打开别人写的一个工程时,说不能加载工程目录下的msdxm.ocx。于是到系统目录system32下找到msdxm.ocx文件拷贝到工程目录下,重新打开该工程,可还是说不能加载msdxm.ocx!此时在工程目录下生成了amcompat.tlb和nscompat.tlb两个文件。
请问该如何处理?
这个msdxm.ocx没加载成功,程序还是能运行,但好像无法生成exe文件,我想获得exe文件该怎么办?

解决方案 »

  1.   

    log文件中有以下错误信息:
    行 54: 控件 MPl 的类 MediaPlayerCtl.MediaPlayer 不是一个已加载的控件类。
    行 60: 属性名 AudioStream 在 MPl 中是无效的。
    行 62: 属性名 AutoStart 在 MPl 中是无效的。
    行 63: 属性名 AnimationAtStart 在 MPl 中是无效的。
    行 64: 属性名 AllowScan 在 MPl 中是无效的。
    行 65: 属性名 AllowChangeDisplaySize 在 MPl 中是无效的。
    行 66: 属性名 AutoRewind 在 MPl 中是无效的。
    ……………………
    下面是大量“属性名 **** 在 MPl 中是无效的”的信息。
      

  2.   

    现在已经把这个控件添加进来了,但我要怎么做才能生成exe文件呢?
      

  3.   

    编译错误,一个该控件的对象调用Play函数,说不支持该函数,可为什么直接运行又可以呢?就是不能导出为exe。是不是我的MediaPlayer控件版本问题?我系统中装的是MediaPlayer10
      

  4.   

    应该是你调用的控件不对吧。PLAY的好象有几个。我是菜鸟,随便说说!
      

  5.   

    这是别人的程序,代码应该是没问题的,我环境没配好。
    刚装的VB6.0,除了这个MediaPlayer控件之外,别的什么都没加,这个msdxm.ocx的版本是6.4.9.1128
      

  6.   

    照我说的试了吗?
    别人做好的程序,载它的机子上引用的组件,可能和你的机子上的版本不一样,你需要重新引用:
    点菜单 
    工程-部件,把原来的引用的复选框取消,然后重新添加,点浏览,找到你的机子上的ocx文件,然后点确定如果你的机子上相应的ocx文件没有注册,要注册一下
    运行 regsvr32 ocx全路经文件名
      

  7.   

    如果还不行,只有去找那个与原来开发时同样版本的OCX文件了~
      

  8.   

    viena(维也纳nn-实心木头人石欠RUKYO),我按你的方法做了。
    打开工程-部件,发现他原来用的是system32\wmp.dll,将它前面的复选框钩选掉,点浏览,重新将这个wmp.dll读进来设好。
    开始-运行,regsvr32 D:\WINDOWS\system32\wmp.dll,显示注册成功。
    编译仍旧出错!看来是版本问题了吧,可怎么知道哪个版本的MediaPlayer控件有Play方法呢?
    微软的东西,会不会新版本不支持旧版本中的东西?
      

  9.   

    //说不能加载工程目录下的msdxm.ocx
    不是说OCX吗?在部件里再找找,看是不是还有一个msdxm.ocx
      

  10.   

    哈哈,楼上,非常感谢,搞定了!
    他那里面是还有一个msdxm.ocx,但原本并没有被选上,我现在选上后就OK了!
    万分感激!