
Visual C++ and modeless forms in VB ActiveX DLL.
Sorry, but this is as yet unpublished interface - you cannot find it
anywhere in the Platform SDK headers - IComponentManager.
Searching in MSDN Library turns up only one reference and
it is about the VS wizard builder interfaces...
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
Quote:
> I need to use a Visual Basic DLL with modeless forms. When I connect
> I get the message "Non-modal forms cannot be displayed in this host
> application from an ActiveX DLL".
> From the MSDN CD's I get the information: (ID:Q247791)
> Quoting:
> "In order to work properly, a Visual Basic modeless form requires
> access to the message loop of the client application. This access is
> provided by a COM object known as the 'Component Manager', which is
> integrated directly into the message loop of the client application.
> In order to determine if the client supports modeless forms, Visual
> Basic gets a reference to the message filter for the application and
> calls IUnknown::QueryInterface for the Component Manager's primary
> interface. If this works, modeless forms can be supported. If it
> fails, the client cannot support modeless forms."
> Nowhere can I find another references to this 'Component Manager'!
> I gather that the client app must also be a COM server and provide
> an interface, but what interface? And what must that interface do?
> Can anyone give me some info or point me in a productive direction.