下面的方法正在多次执行单个对象创建,最终无法创建ActiveX控件对象。 HRESULT的值显示hresult = -2,147,467,262
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
HRESULT hres = _Module.GetClassObject(rclsid, riid, ppv);
return hres;
}
对于另一个成功创建的ActiveX控件和对象,只执行一次相同的方法:hresult = 0;
任何有关无法创建对象的可能原因的帮助。
答案 0 :(得分:0)
具有持久状态的ActiveX控件(此控件的情况)必须实现IPersistStream或IPersistStreamInit。 在
下添加一行" COM_INTERFACE_ENTRY(IPersistStreamInit)"" BEGIN_COM_MAP(MyControl)-------- END_COM_MAP()"
解决了这个问题。