OLE Server in DLL
ppbillc@srv2.sj.ablecom.net Friday, August 16, 1996 Enviroment: Visual C++ 4.1 / Win95-WinNT 4.0 I am trying to move an OLE server from an Exe to a DLL. When I try to inplace activate the server from the DLL it is missing the Interface IViewObject2 and Barfs? Works fin if the Server is an EXE. Anybody know if your have to do something special if your server is in a DLL? Dll is not an extension Dll. TIA Bill
Graham -- Cunningham@tgd.swissptt.ch Monday, August 19, 1996 I just took a quick look at my ole dll and I have the following defined ///////////////////////////////////////////////////////////////////////// //// // Special entry points required for inproc servers STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); return AfxDllGetClassObject(rclsid, riid, ppv); } STDAPI DllCanUnloadNow(void) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); return AfxDllCanUnloadNow(); } // by exporting DllRegisterServer, you can use regsvr.exe STDAPI DllRegisterServer(void) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); COleObjectFactory::UpdateRegistryAll(); return S_OK; } hth Graham Cunningham 00 41 31 338 0633 >---------- >From: ppbillc@srv2.sj.ablecom.net[SMTP:ppbillc@srv2.sj.ablecom.net] >Sent: Freitag, 16. August 1996 21:36 >To: mfc-l@netcom.com >Subject: OLE Server in DLL > >Enviroment: Visual C++ 4.1 / Win95-WinNT 4.0 > > I am trying to move an OLE server from an Exe to a DLL. > > When I try to inplace activate the server from the DLL it is missing >the Interface IViewObject2 and Barfs? Works fin if the Server is an >EXE. > > Anybody know if your have to do something special if your server is >in a DLL? Dll is not an extension Dll. > >TIA > >Bill > > >
ppbillc@srv2.sj.ablecom.net Monday, August 19, 1996 > Enviroment: Visual C++ 4.1 / Win95-WinNT 4.0 > > I am trying to move an OLE server from an Exe to a DLL. > > When I try to inplace activate the server from the DLL it is missing > the Interface IViewObject2 and Barfs? Works fin if the Server is an > EXE. > > Anybody know if your have to do something special if your server is > in a DLL? Dll is not an extension Dll. > After further investigation of this problem here is what I have found. If you call ::OleCreate on an MFC InPlace Server (COleServer) that is OUTOFPROC (an exe) you get the IViewObject2 Interface. If it is INPROC (a dll) you don't. I have searched the Knowledge base at microsoft.com, MSDN, newsgroups and the OLE 2.0 Documentation. But to no avail you guys are my last hope :( Bill
| Вернуться в корень Архива |