好的,所以这是一个非常复杂的问题,我会尽力解释。
我们有一个与 Sql Connection 通信的 c++ 应用程序,如下所示:
CoCreateInstance(_T("ADODB.Connection"))
这工作正常。
我们最近将我们所有的后端代码都变成了一个 Com 对象。如果我编写一个 Vb 程序来加载我们的 Com 对象并执行一些数据库操作,一切正常,CoCreateInstance(_T("ADODB.Connection"))
仍然有效。
我们使用 Fitnesse 进行测试,所以我编写了一个夹具:
1) 将一串 vb 代码输入到 html 页面中。
2) 编译 vb 代码
3) 运行使用我们 Com 对象的 vb 代码。
* Fitnesse 是一个 Java 应用程序,因此代码路径也通过 Java。
现在,当任何操作触及数据库时,Com 对象都会遇到异常。使用消息框,并删除代码我将问题缩小到这行代码:
CoCreateInstance(_T("ADODB.Connection"))
通常返回码是 0,但是通过这段代码调用代码链,我得到了返回码:800401F3,它表示它找不到要加载的对象。
我拉着头发试图弄清楚发生了什么。任何一点见解都将不胜感激。