Я набираю класс на C++. Вот мой код:Возможно ли использовать ADODB :: _ RecordsetPtr объект как данные элемента?
class MyClass
{
private:
ADODB::_RecordsetPtr pConn;
public:
MyClass();
};
MyClass::MyClass()
{
pConn = ADODB::_ConnectionPtr("ADODB.Connection");
// ......
}
Проблема заключается в том, когда я пытаюсь назначить временный ADODB::_ConnectionPtr
объект pConn
, компилятор генерирует исключение: Unhandled exception at at 0x75C9C41F in AccessReader.exe: Microsoft C++ exception: _com_error at memory location 0x003AF808.
Является ли это потому, что ADODB::_ConnectionPtr
объект не копируемый?
Как исправить эту проблему?
Большое спасибо заранее.
При использовании смарт-типа указатель оболочки, то вы * * должны обрабатывать исключения _com_error, что он производит, когда основной метод COM выходит из строя. Не делать этого просто создает загадочные необработанные исключения C++, которые не говорят вам, что пошло не так. –