改变了一个函数后,程序运行出错,求高手指教
最近在用VC6.0做一个项目,数据库采用ACCESS,自己做了一个类AdoConn对ADO函数进行了封装,在App类中采用AfxOleInit()对COM库进行了初始化。工程中还有另外两个类,分别为A、B,A类包含了。当时是在自己的Win7 64位机上做的,拿到另外一台32位安装了xp系统的电脑上运行,都运行得很好。
后来在64位机上对B类中原先返回 void 空值 的一个函数void fun(CRect* p)作了修改,变为BOOL fun(CRect* p, int i = 0),编译无异常,且能正常运行。将修改后的源代码拿到那台32位xp机上编译无异常,但运行总是出错,进行单步跟踪,发现错误出在AdoConn类中
hr = cp.CreateInstance("ADODB.Connection"); cp是_ConnectionPtr类
返回值hr = -2147467262,上网查了一下,意思是不支持该接口。但是将源代码拿到别的32位xp电脑运行时有的可以运行,有的还是出现相同的错误。有人说可能是MDAC版本的问题,可是之前都运行的好好的啊。而且在那台32位xp电脑上还有一个修改前的源代码,运行也正常,就是做了上述修改后就运行不了了。请各位高手指点!