Benutzer mit den meisten Antworten
ActiveX dynamisch in Form erstellen

Frage
-
Hi,
ich möchte ein ActiveX in ein Formular packen. Das ActiveX (mit UI) wird in 32 und 64 Bit zur Verfügung stehen.
Meine Anwendung wird ebenfalls als 32 bzw. 64 Bit Prozess laufen, d.h. ich muss dafür sorgen, dass die richtige Version geladen und in meinem Formular verwendet wird.
Wenn ich es richtig verstehe, darf ich im Visual Studio Designer nicht eine bestimmte Version (32 oder 64 Bit) auf das Formular ziehen, da mein Programm mit der spezifischen Version des ActiveX kompiliert ist.
Oder kann ich ohne Probleme das ActiveX als 32-Bit auf mein C# Formular ziehen und zur Laufzeit wird automatisch anhand der Bitness meines Prozesses geprüft, welche Version (32 oder 64 Bit) des ActiveX genutzt werden soll?
Viele Grüße,
Christian.
Antworten
-
Hi Marcel,
vielen Dank für Deine Hilfe!
Meine Lösung:
class HostFuerMeinActiveX : AxHost
{
public HostFuerMeinActiveX() : base("{FCD44380-0000-1111-1111-123456789012}"){}
}
In der Form Klasse:var ax = new HostFuerMeinActiveX();
this.Controls.Add(ax);
Grüße,
Christian.
- Bearbeitet Christian315 Donnerstag, 15. März 2012 09:39
- Als Antwort markiert Christian315 Donnerstag, 15. März 2012 09:39
Alle Antworten
-
Hallo Christian,
Erstelle die Komponenten über späte Bindung wenn möglich. Die COM-Infrastruktur kümmert sich um die richtige Bitigkeit wenn beide Versionen korrekt registriert sind.
Best Practices for WOW64 (Word-Dokument)
http://msdn.microsoft.com/en-us/windows/hardware/gg463051Gruß
Marcel -
Hi Marcel,
vielen Dank für Deine Hilfe!
Meine Lösung:
class HostFuerMeinActiveX : AxHost
{
public HostFuerMeinActiveX() : base("{FCD44380-0000-1111-1111-123456789012}"){}
}
In der Form Klasse:var ax = new HostFuerMeinActiveX();
this.Controls.Add(ax);
Grüße,
Christian.
- Bearbeitet Christian315 Donnerstag, 15. März 2012 09:39
- Als Antwort markiert Christian315 Donnerstag, 15. März 2012 09:39