描述:
而且new的对象,在哪里的delete它,使我在release组件后,组件能够delete这个对象
解决方案1:
调用 CreateInstance 方法,具体见 MSDN 文档
解决方案2:在组件里加两个接口函数:InitializeTTS()和ReleaseTTS()。组件加载后调用前者,组件释放前调用后者。
解决方案3:up
解决方案4:up
解决方案5:加一个析构函数不就行了
解决方案6: CComCoClass(类工厂)中的CreateInstance,看看下面CComCoClass源代码就知道了:
template <class T, const CLSID* pclsid = &CLSID_NULL>
class CComCoClass
{
public:
DECLARE_CLASSFACTORY()
DECLARE_AGGREGATABLE(T)
typedef T _CoClass;
......
template <class Q>
static HRESULT CreateInstance(IUnknown* punkOuter, Q** pp)
{
return T::_CreatorClass::CreateInstance(punkOuter, __uuidof(Q), (void**) pp);
}
template <class Q>
static HRESULT CreateInstance(Q** pp)
{
return T::_CreatorClass::CreateInstance(NULL, __uuidof(Q), (void**) pp);
}
};
你找的是COM组件构造和析构的地方吧?
可在FinalConstruct里new, 在FinalRelease里delete