【发布时间】:2014-10-25 19:42:21
【问题描述】:
使用智能指针CComObject 我通过调用它的静态方法CreateInstance 创建一个COM 对象。但是当我离开我的程序时,至少在 VS13 中,该对象仍然在运行。这是我的代码:
CComObject< CMyAtlObject > * myAtlCOMObject = NULL;
HRESULT hr = CComObject< CMyAtlObject >::CreateInstance(&myAtlCOMObject);
ASSERT(SUCCEEDED(hr));
我希望在超出范围时调用 ~CComObject() 方法,但这不会发生。
我尝试将上面的代码放在花括号中,以强制新创建的对象超出范围。
我尝试在myAtlCOMObject上调用FinalRelease并成功在myAtlCOMObject上手动调用Release,但程序在VS13中仍然没有停止运行。
我错过了什么?
【问题讨论】:
标签: c++ com visual-studio-2013 atl