gpt4 book ai didi

c++ - ADO 记录集对象 : strange invalid pointer error

转载 作者:行者123 更新时间:2023-11-28 06:47:01 25 4
gpt4 key购买 nike

我只是创建一个包含 _RecordsetPtr 作为成员的类。这是我目前所拥有的:

class MyClass {
public:
MyClass();
private:
_RecordsetPtr m_RecPtr;
}

MyClass::MyClass() {
m_RecPtr = NULL;
m_RecPtr.CreateInstance(__uuidof(Recordset));
m_RecPtr->CursorType = adOpenStatic; // ERROR!
m_RecPtr->CursorLocation = adUseClient;
m_RecPtr->Sort = "";
}



int main() {
MyClass c; //ERROR!
}

错误发生在调用MyClass默认构造函数的main方法中..

我只是在实例化 m_RecPtr 对象,但是当我尝试设置它的光标位置时,

它奇怪地给我一个“无效指针”错误...

我查看了 ADO 文档 (Link!!),似乎我正在正确实例化 _RecordsetPtr 对象...

这是我链接的文档中的完成方式(与我正在做的完全一样!!):

_RecordsetPtr pRstAuthors = NULL;
pRstAuthors.CreateInstance(__uuidof(Recordset))
pRstAuthors->CursorType = adOpenStatic;
pRstAuthors->CursorLocation = adUseClient;
...

那么我的构造函数出了什么问题??

为什么在类构造函数中做同样的事情却行不通?

最佳答案

在使用COM对象之前,必须先调用CoInitialize(NULL)初始化COM环境,最后再调用CoUninitialize()释放COM。

在您给出的示例中,主函数调用了这两个函数。

关于c++ - ADO 记录集对象 : strange invalid pointer error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com