为什么在Win7上编译的ADO程序不能在XP上运行
2014-03-07 09:15
441 查看
在我这里有一个产品是2008年开发的,当时是在XP上开发,也是在XP上编译,这样在XP和WIN7上运行都没有问题。由于需要增加
一些功能,需要再开发一下。目前都是在Win7上开发了,这样也得把以前的代码放到Win7上编译,这样开发出来的程序在Win7上
运行很正常,无论功能或者速度,都没有问题。但客户那里是运行XP的电脑,需要放到XP上运行。这样问题就来了,在Win7上编
译出来程序在XP运行,就会访问不了ADO,主要在连接ADO时出错,抛出一个异常,并没有异常的详细描述,就不知道是什么原因
出错。为了这个问题,找了一段时间,从程序代码到编译选项都作了全面的检查,还是百思不得其解,只能再百度、GOOGLE了。
总算找到主要原因,原来是由于XP运行的ADO是比较低的版本,而WIN7上发布的ADO是高版本,这样在WIN7上编译的程序,就导入
了高版本的判断,导致在XP上使用ADO就抛出异常,并退出程序的运行。找到了问题,就容易解决了,把XP电脑上的ADO的DLL拷贝
到WIN7的电脑,然后修改代码从XP的DLL导入,然后再重新编译就可以解决了。
WIN7 ADO的文件: msado15.dll,版本:6.1
XP ADO的文件: msado15.dll,版本:2.81
一些功能,需要再开发一下。目前都是在Win7上开发了,这样也得把以前的代码放到Win7上编译,这样开发出来的程序在Win7上
运行很正常,无论功能或者速度,都没有问题。但客户那里是运行XP的电脑,需要放到XP上运行。这样问题就来了,在Win7上编
译出来程序在XP运行,就会访问不了ADO,主要在连接ADO时出错,抛出一个异常,并没有异常的详细描述,就不知道是什么原因
出错。为了这个问题,找了一段时间,从程序代码到编译选项都作了全面的检查,还是百思不得其解,只能再百度、GOOGLE了。
总算找到主要原因,原来是由于XP运行的ADO是比较低的版本,而WIN7上发布的ADO是高版本,这样在WIN7上编译的程序,就导入
了高版本的判断,导致在XP上使用ADO就抛出异常,并退出程序的运行。找到了问题,就容易解决了,把XP电脑上的ADO的DLL拷贝
到WIN7的电脑,然后修改代码从XP的DLL导入,然后再重新编译就可以解决了。
WIN7 ADO的文件: msado15.dll,版本:6.1
XP ADO的文件: msado15.dll,版本:2.81
相关文章推荐
- 为什么在Win7上编译的ADO程序不能在XP上运行
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法
- 在Win7或2008(安装了 KB983246补丁)上编译的ADO应用程序,不能运行在XP,2003等低级别的操作系统的解决方案
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法
- 在Win7或2008(安装了 KB983246补丁)上编译的ADO应用程序,不能运行在XP,2003等低级别的操作系统的解决方案 .
- xp或2003下无法运行win7所编译的ado程序.
- Win7上VS2010写的ADO程序在XP上不能运行?
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法 2012-2-16 11:08
- 在Win7或2008(安装了 KB983246补丁)上编译的ADO应用程序,不能运行在XP,2003等低级别的操作系统的解决方案
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法
- 解决WIN7-64,VS2008编译的MFC程序在WIN7-32/XP上不能运行的问题
- VC连接ADO方式数据库在WIN7下编译到XP下不能运行解决方法
- vs2013编译程序不能在xp上运行的问题
- VC 在WIN7下使用ADO方式连接ACCESS数据库到XP不能运行
- vs2012-vs2013编译出来的程序不能在xp上运行解决方法
- VS2012编译出来的程序,在XP上不能运行的原因
- VS2005编译的程序在XP系统下不能运行的解决办法
- Qt于win7下编译的程序在xp中运行中文乱码问题