向导中选中automation支持后,需要在文档类的OnNewDocument()中增加如下代码将服务器注册到ROT中:
HRESULT hr;
DWORD dwRegister;
CPlugFrameApp *pApp = (CPlugFrameApp*)AfxGetApp();
hr=RegisterActiveObject(GetControllingUnknown(),
pApp->GetAppCLSID(),
ACTIVEOBJECT_WEAK,
&dwRegister);
if(FAILED(hr))
{
AfxMessageBox(_T("Didn't register Active Object"));
}
否则GetActiveObject无法得到服务器对象。
HRESULT hr;
DWORD dwRegister;
CPlugFrameApp *pApp = (CPlugFrameApp*)AfxGetApp();
hr=RegisterActiveObject(GetControllingUnknown(),
pApp->GetAppCLSID(),
ACTIVEOBJECT_WEAK,
&dwRegister);
if(FAILED(hr))
{
AfxMessageBox(_T("Didn't register Active Object"));
}
否则GetActiveObject无法得到服务器对象。
本文介绍如何在文档类的OnNewDocument()中通过增加特定代码来将服务器注册到ROT(运行时对象表)中,这对于实现automation支持至关重要。如果注册失败,会弹出提示框并显示错误信息。
745

被折叠的 条评论
为什么被折叠?



