已初始化过com库_ConnectionPtr m_pConnection;
HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));
//HRESULT hr = m_pConnection.CreateInstance("ADODB.Connection");在本机执行(系统win7 sp1 编译器vs2008 sp1,静态编译) OK,放到其它电脑上跑(xp),CreateInstance返回E_NOINTERFACE。
但是我在xp电脑上编译源代码,执行没问题,放到其它xp电脑上也跑得好好的。怀疑是不是win7 sp1的ado版本太高,跑到xp就执行不起来了。有没有人也遇到这个问题?求解决方案。
HRESULT hr = m_pConnection.CreateInstance(__uuidof(Connection));
//HRESULT hr = m_pConnection.CreateInstance("ADODB.Connection");在本机执行(系统win7 sp1 编译器vs2008 sp1,静态编译) OK,放到其它电脑上跑(xp),CreateInstance返回E_NOINTERFACE。
但是我在xp电脑上编译源代码,执行没问题,放到其它xp电脑上也跑得好好的。怀疑是不是win7 sp1的ado版本太高,跑到xp就执行不起来了。有没有人也遇到这个问题?求解决方案。
编译时把项目属性设为32bit看。
http://topic.csdn.net/u/20110305/09/64d1a776-4bb2-44f7-9f83-d5ae4b1af325.html
00000550-0000-0010-8000-00AA006D2EA4 与
00001550-0000-0010-8000-00AA006D2EA4
=======================
有意思,是不是需要动态检查系统的ado版本,从而使用不同的IID?
win7 sp1惹得祸。