读书人

static型的COM变量程序退出时错误

发布时间: 2012-09-17 12:06:52 作者: rapoo

static型的COM变量,程序退出时异常
请问:
1 程序中所有创建的COM组件变量(CoCreateInstance创建)都必须在CoUninitialize之前进行?
2 程序中static型变量分配的内存,则在Winmain返回后由编译器释放的?
3 如果以上两条成立的话,那么就不能避免的在CoUninitialize之后,释放COM变量会发生异常,该问题应该如何解决?

请高手帮忙回答一下,谢谢

[解决办法]
可以这样试试

定义一个辅助类


class CComEnvironment
{
public:
CComEnvironment()
{
CoInitialize(NULL);
}
~CComEnvironment()
{
CoUninitialize();
}
};

在你的静态变量定义前

先定义
static CComEnvironment COM_ENV;

读书人网 >VC/MFC

热点推荐