2009-05-28 4 views
2

Wir haben eine Drittanbieter-App, in die VBA integriert ist. All dies ermöglicht es uns, eine vb6-activeX-DLL zu öffnen, die eine Benutzeroberfläche enthält, und wir übergeben die Apps-Instanz an die vb6-DLL.Kann ich dies in .Net und WPF tun?

' Instantiate the SMTree UI. 
Set oSMTree = CreateObject("SMTree.clsMain") 

' Start it up. 
oSMTree.cMain Application 

Dann in der VB6 app die Haupt sieht aus wie:

Public Sub Main (App als ACNProfessionalAB.CMerchman)

Set oACNApplication = app 

End Sub

Gibt es eine Möglichkeit zu schaffen, eine WPF-App, die auf die gleiche Weise aufgerufen werden kann und die Calling-App-Instanz weitergibt, damit ich VB6 nicht weiter verwenden muss?

Vielen Dank im Voraus! reich

Antwort

1

Wenn Sie das Objekt über ein COM-Interop in .Net erstellen können, dann sollten Sie in der Lage sein, eine Referenz zu diesem Objekt zuzuordnen, da die Schnittstelle die gleiche sein wird.

Fügen Sie einfach die ActiveX-DLL als Referenz über den Projektreferenzbildschirm hinzu, der die Interop-DLL generiert und dann Ihren vorhandenen Code wie oben verwendet, um den Verweis in Ihrer xaml.vb-Datei zuzuweisen.