Visual C++ and modeless forms in VB ActiveX DLL. 
Author Message
 Visual C++ and modeless forms in VB ActiveX DLL.

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.



Sun, 15 Dec 2002 03:00:00 GMT  
 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.



Mon, 16 Dec 2002 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Show modeless form in VB ActiveX DLL from C++ MFC DLL

2. Showing modeless form in VB ActiveX Dll

3. Help with Visual Basic ActiveX DLL showing form within Visual C++ ATL app

4. ActiveX DLL and modeless forms

5. accessing objects in a c++ DLL from a c++ activeX control placed in a VB application

6. accessing objects in a c++ DLL from a c++ activeX control placed in a VB application

7. VB forms -> Visual C++

8. Visual form inheritance from base form implemented in C++ with Managed Extensions (migrated from unmanaged C++)

9. Call/Use VB ActiveX Dll in Visual C

10. Call/Use VB ActiveX Dll in Visual C

11. Question: Catching errors from a VB ActiveX control in Visual C++ using MFC

12. how to use a VB active dll which include Form at a c++ program

 

 
Powered by phpBB® Forum Software