Re: MFC 7.1 als Container für .NET Controls
From: Frank Franzoni (franzoni_at_gepasoft.de)
Date: 02/09/05
- Next message: Bethany Bogenhardt: "Frage zu Nachrichten"
- Previous message: ChristianH: "Re: Prüfen ob ActiveX Komponente registriert"
- In reply to: Andreas Heyer: "Re: MFC 7.1 als Container für .NET Controls"
- Next in thread: Andreas Heyer: "Re: MFC 7.1 als Container für .NET Controls"
- Reply: Andreas Heyer: "Re: MFC 7.1 als Container für .NET Controls"
- Messages sorted by: [ date ] [ thread ]
Date: Wed, 9 Feb 2005 16:54:07 +0100
Hallo Andreas,
> Das glaubst du doch selbst nicht! Entweder es ist ein
> ActiveX-Control oder nicht.
Um ehrlich zu sein kenne ich mich mit der MFC und COM-Interop noch zu wenig aus um es zu glauben bzw. nicht zu glauben.
Muss momentan halt glauben was ich lese:-).
> D.h. falls die .NET-Assembly alle nötigen Schnittstellen für ActiveX implementiert und als
> COM-Server geladen werden kann,
Das scheint aber laut diversen Artikeln, Forenbeiträgen etc nicht der Fall zu sein.
Originalton aus einem Artikel aus der MSDN:
While I'm on the topic of managed controls, one thing that version 1.0 supported was hosting Windows Forms controls in exactly one
unmanaged host: Microsoft Internet Explorer.
Internet Explorer simply loads the Windows Forms control itself and treats it as a COM control. However, no other popular COM
control hosts, like MFC, Visual Basic® 6.0, or ATL, were supported in version 1.0. While neither Visual Basic 6.0 nor ATL is
officially supported in version 1.1 either, the Windows Forms team did a full test cycle on hosting Windows Forms controls as COM
controls in MFC 7.1—the version of MFC that comes with Visual Studio .NET 2003—and it is now an officially supported unmanaged host.
However, while it is fully supported, it's not fully integrated. You'll need to augment the standard COM control containment
infrastructure to support Windows Forms controls.
> Was du meinst, sind vielleicht reine .NET-Controls. Wie ich schon
> schrieb, sind sie auch nur *innerhalb* des Frameworks einsetzbar.
Ich habe ein einfaches Net-Control erzeugt und die ebenfalls erzeugte Typbliothek registriert. Dieses Control kann ich
imTestcontainer für ActiveX Steuerelemente erzeugen. Damit es als ActiveX in den entsprechenden Auswahldialogen diverser Anwendungen
auftaucht sind noch zusätzliche Registryeinträge nötig.
Nachdem ich diese hinzugefügt hatte war es auch im Dialogeditor von VS 2003 in der Liste verfügbar. Allerdings lässt es sich nicht
erzeugen, sondern bricht mit der Meldung 'ActiveX Steuerelement wurde fehlerhaft initialisiert' ab.
Gleiches nur mit anderer Fehlermeldung passiert auch in anderen Anwendungen die ActiveX hosten können.
> VS kann auch managed C++, mit Version 2003 gibt es sogar einen
> Designer für Windows.Forms und C++.
Deswegen auch meine Frage im Erstposting nach dem Sinn dieser Funktionalität, da mir dieser Weg wann immer er gehbar ist die
sinnvollere Variante der Verbindung beider Welten ist.
Nur ist jetzt meine technische Neugier geweckt und ich würde gerne zumindest ein einfaches NET Control, mit minimalen Aufwand, als
ActiveX verwenden.
Gruss Franzoni Frank
- Next message: Bethany Bogenhardt: "Frage zu Nachrichten"
- Previous message: ChristianH: "Re: Prüfen ob ActiveX Komponente registriert"
- In reply to: Andreas Heyer: "Re: MFC 7.1 als Container für .NET Controls"
- Next in thread: Andreas Heyer: "Re: MFC 7.1 als Container für .NET Controls"
- Reply: Andreas Heyer: "Re: MFC 7.1 als Container für .NET Controls"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|