首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

“种不支持自动化或不支持期望的接口”

2013-01-02 
“类不支持自动化或不支持期望的接口”救命啊!~~各位大侠帮帮忙啊!“类不支持自动化或不支持期望的接口”以前

“类不支持自动化或不支持期望的接口”
救命啊!~~各位大侠帮帮忙啊!

“类不支持自动化或不支持期望的接口”
以前一直用的是XP 32位、vb6,给电脑加了根内存,发现XP 32位只能使用小于3G的内存。于是换系统位 win7 64位了。
悲剧发生了,win7 64位+vb6编译出来的程序,在其他客户机(winXP 32位)不能连接sql Server,提示"类不支持自动化或不支持期望的接口"............我直接快吐血了!!

分析:
我这里有2台电脑,分别装了不同的操作系统
第一台电脑安装了 winXP 32位,以下称为电脑A
第二台电脑安装了 win7 64位,以下称位电脑B
1.可以排除代码的问题
  理由:我把代码拷贝到电脑A上编译后的程序就能在电脑A上正常连接sql数据库;代码若是在电脑B上编译,那么编译出来的程序只能在电脑B上运行,电脑A上运行时提示“类不支持自动化或不支持期望的接口”。
2.让我郁闷不解的是,我再装用win7的电脑B上安装了一个虚拟机(winXP 32位),在此虚拟机上编译的程序可以在虚拟机上正常连接到sql,安装到电脑B上也能正常运行;安装到电脑A上后仍然提示上述错误,导致连接不到sql。
3.一顿百度后有网友说是 MDAC 2.7,MDAC 2.8的问题,我检查了一下,电脑A和虚拟机都是winXP 32位系统,且MDAC版本一样,为什么电脑A编译的程序合适,在虚拟机上编译的程序不合适呢?对了,电脑B因为是win7操作系统,MDAC版本比较高 6.***。

大侠们,求解!!
[解决办法]
类似的问题我遇到过。结论是你只能在winXP 32位下编译。因为在WIN7下,同样名称的引用,WIN7下引用了高版本的(或者是指向了SYSWOW64文件夹下的文件,如果是这样,记事本打开工程文件修改路径试试),而这个版本的某些方法或者说实现与低版本不兼容。
我以前遇到的是引用Microsoft Shell Controls And Automation的时候遇到过这样的问题
[解决办法]
编译二个版本,for xp;for win7

热点排行