!!!!!!救命一题!!!!!为何我用MFC做的OLEserver打开后,在client端用GetActiveObject得不到指针?
佚名通过本文主要向大家介绍了
!!!!!!救命一题!!!!!为何我用MFC做的OLEserver打开后,在client端用GetActiveObject得不到指针?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: !!!!!!救命一题!!!!!为何我用MFC做的OLE server打开后,在client端用 GetActiveObject 得不到指针?
描述:
解决方案1:
描述:
client side:
///////////////////////////////////////
CLSID clsid;
CLSIDFromProgID(L"MyServer.Document", &clsid);
IUnknown *pUnk = NULL;
IDispatch *pDisp = NULL;
HRESULT hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
if(SUCCEEDED(hr))
{
hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
break;
}
///////////////////////////////////////
先运行MyServer, 在运行client,clsid可以正确得到,但GetActiveObject不能成功
难道Server端启动时要用 RegisterActiveObject 来注册吗, 我用MFC作的OLE Server, 这个工作应该MFC帮我做了吧?
请各位大师指点, 感激不尽,谢谢!
解决方案1:
mark
解决方案2:http://support.microsoft.com/kb/q155690/