Hallo,
ich mache so die ersten Gehversuche mit VB.NET 2008 Express Edition und versuche, neu erstellte Assemblies von COM aus (VB6) aufzurufen. Was relativ auf Anhieb klappte war der Aufruf eines NET-Assemblies aus VB6 als DLL. Die Vorgehnsweise war wie folgt:
1) Erstellen der NET-Assembly und Testen mit NET-Client Anwendung
2) Neu Kompilieren der Assembly mit der Option 'Assembly COM sichtbar machen'
3) Erstellen der tlb und Registrieren mit RegAsm.exe
4) Erstellen VB-Anwendung, Verweis auf neu erstellte NET-DLL
Völlig analog wollte ich im nächsten Schritt eine NET-Control erstellen und analog einer OCX einbinden. Dazu erstellte ich ein neues Projekt vom Typ Klassenbibliothek (für Controls gibt es keine Vorlage für VB NET Express). In diesem Projekt fügte ich ein Windows Control hinzu und führte die oben aufgeführten Schritte 1-3) analog erfolgreich durch.
Bei 4) stoße ich dann auf Probleme. Ich sehe zwar die DLL unter Verweise, kann sie einbinden und die zu Testzwecken erstellte Properties setzen und abfragen. Aber ich sehe die DLL nicht als Control. Unter Komponenten, wo ich andere OCX als Steuerelemente normal einbinde, taucht die NET-DLL nicht auf.
Irgendwo habe ich gelesen, dass eine Klasse, mit der man das erreichen will von System.EnterpriseServices.ServicedComponent abgeleitet sein muss. Meine Klassen sind dagegen von System.Windows.Forms.UserControl abgeleitet. Egal wie, ich bin für jeden Tip dankbar.
ich mache so die ersten Gehversuche mit VB.NET 2008 Express Edition und versuche, neu erstellte Assemblies von COM aus (VB6) aufzurufen. Was relativ auf Anhieb klappte war der Aufruf eines NET-Assemblies aus VB6 als DLL. Die Vorgehnsweise war wie folgt:
1) Erstellen der NET-Assembly und Testen mit NET-Client Anwendung
2) Neu Kompilieren der Assembly mit der Option 'Assembly COM sichtbar machen'
3) Erstellen der tlb und Registrieren mit RegAsm.exe
4) Erstellen VB-Anwendung, Verweis auf neu erstellte NET-DLL
Völlig analog wollte ich im nächsten Schritt eine NET-Control erstellen und analog einer OCX einbinden. Dazu erstellte ich ein neues Projekt vom Typ Klassenbibliothek (für Controls gibt es keine Vorlage für VB NET Express). In diesem Projekt fügte ich ein Windows Control hinzu und führte die oben aufgeführten Schritte 1-3) analog erfolgreich durch.
Bei 4) stoße ich dann auf Probleme. Ich sehe zwar die DLL unter Verweise, kann sie einbinden und die zu Testzwecken erstellte Properties setzen und abfragen. Aber ich sehe die DLL nicht als Control. Unter Komponenten, wo ich andere OCX als Steuerelemente normal einbinde, taucht die NET-DLL nicht auf.
Irgendwo habe ich gelesen, dass eine Klasse, mit der man das erreichen will von System.EnterpriseServices.ServicedComponent abgeleitet sein muss. Meine Klassen sind dagegen von System.Windows.Forms.UserControl abgeleitet. Egal wie, ich bin für jeden Tip dankbar.
Comment