static型的COM变量,程序退出时异常
请问:
1 程序中所有创建的COM组件变量(CoCreateInstance创建)都必须在CoUninitialize之前进行?
2 程序中static型变量分配的内存,则在Winmain返回后由编译器释放的?
3 如果以上两条成立的话,那么就不能避免的在CoUninitialize之后,释放COM变量会发生异常,该问题应该如何解决?
请高手帮忙回答一下,谢谢
[解决办法]
可以这样试试
定义一个辅助类
class CComEnvironment
{
public:
CComEnvironment()
{
CoInitialize(NULL);
}
~CComEnvironment()
{
CoUninitialize();
}
};
在你的静态变量定义前
先定义
static CComEnvironment COM_ENV;