Adodc控件的MoveComplete 事件在win7SP1中报错的问题

Adodc控件的MoveComplete 事件在win7SP1中报错:

Adodc控件的MoveComplete 事件在win7SP1中报错的问题 - 似水无痕 - 用友软件

引发原因:(摘自Microsoft)

因为有些 ADO 接口更改与新实例标识符 (IIDs) 相关联的 Windows 7 SP1 中,将出现此问题。较旧的 IID 接口被分配以下后缀:

_Deprecated

例如,接口 _Connection 已更新,如下所示: 在 Windows 7 和更早版本的 Windows 中,_Connection IID 是 00000550-0000-0010-8000-00AA006D2EA4。 在 Windows 7 SP1 中,_Connection IID 00001550-0000-0010-8000-00AA006D2EA4,并且该 IID 的 _Connection_Deprecated 00000550-0000-0010-8000-00AA006D2EA4。如果您的应用程序使用早期绑定到 _Connection,新 IID 存储在应用程序二进制文件在编译过程中。IID 不存在,因此,在低级别的操作系统上运行应用程序时,这会导致错误。

一些 ADO Api 取决于平台,ado 2.7 及更高版本。在 64 位版本的 Windows 中,这些 ADO Api 处理参数使用 64 位数据类型 (如 LONGLONG 数据类型)。但是,使用这些 Api 的应用程序仍然使用 数据类型。因此,当您尝试运行该宏时收到"类型不匹配"错误消息。

 

解决办法:

对于 32 位计算机

1、下载并安装安装.Net 4.0

.Net 4.0 下载地址:
http://www.microsoft.com/downloads/info.aspx?na=41&SrcFamilyId=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&SrcDisplayLang=zh-cn&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f9%2f5%2fA%2f95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE%2fdotNetFx40_Full_x86_x64.exe

2、下载附件压缩包,然后将压缩包内的msado28.tlb文件复制到任一目录中。例如复制到:
C:\Program Files\Common Files\System\ado\msado28 文件夹中

注册该tlb文件(需要使用regtlibv12,故需要安装.Net 4.0)
%windir%\Microsoft.NET\Framework\v4.0.30319\regtlibv12 "C:\Program Files\Common Files\System\ado\msado28\msado28.tlb"

3、验证已创建以下注册表项:
HKEY_CLASSES_ROOT\TypeLib\{0C0FF45D-87C8-4333-9075-3D9B4D64F9FC}\6.0

4、验证以下注册表值
HKEY_CLASSES_ROOT\TypeLib\{0C0FF45D-87C8-4333-9075-3D9B4D64F9FC}\6.0\0\win32

指向C:\Program Files\Common Files\System\ado\msado28\msado28.tlb

5、在VB中引用【Microsoft ActiveX Data Objects 6.0 BackCompat Library】即可

所需附件下载:http://dl.dbank.com/c0n6en3qji
附:Microsoft 官方说明:http://support.microsoft.com/kb/2517589


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值