Gewusst wie: Verweisen auf COM-Objekte aus Visual Basic
In Visual Basic muss zum Hinzufügen von Verweisen auf COM-Objekte, die über Typbibliotheken verfügen, eine Interopassembly für die COM-Bibliothek erstellt werden. Verweise auf die Member des COM-Objekts werden an die Interopassembly geroutet und dann an das eigentliche COM-Objekt weitergeleitet. Die Antworten vom COM-Objekt werden an die Interopassembly geroutet und dann an Ihre .NET Framework-Anwendung weitergeleitet.
Sie können ein COM-Objekt ohne Verwendung einer Interopassembly referenzieren, indem Sie die Typinformationen für das COM-Objekt in eine .NET-Assembly einbetten. Legen Sie zum Einbetten von Typinformationen die Eigenschaft Embed Interop Types
für den Verweis auf das COM-Objekt auf True
fest. Wenn Sie mit dem Befehlszeilencompiler kompilieren, verwenden Sie die Option /link
, um auf die COM-Bibliothek zu verweisen. Weitere Informationen finden Sie unter -link (Visual Basic).
Visual Basic erstellt automatisch Interopassemblys, wenn Sie einen Verweis auf eine Typbibliothek aus der integrierten Entwicklungsumgebung (IDE) hinzufügen. Wenn Sie über die Befehlszeile arbeiten, können Sie mit dem Hilfsprogramm Tlbimp manuell Interopassemblys erstellen.
So fügen Sie Verweise auf COM-Objekte hinzu
Wählen Sie im Menü Projekt die Option Verweis hinzufügen aus, und klicken Sie dann im Dialogfeld auf die Registerkarte COM.
Wählen Sie die gewünschte Komponente aus der Liste der COM-Objekte aus.
Für einen einfacheren Zugriff auf die Interopassembly fügen Sie eine
Imports
-Anweisung am Anfang der Klasse oder des Moduls ein, in der bzw. dem Sie das COM-Objekt verwenden. Das folgende Codebeispiel importiert beispielsweise den NamespaceINKEDLib
für Objekte, auf die in der BibliothekMicrosoft InkEdit Control 1.0
verwiesen wird.Class Sample 'Private s As IInkCursor End Class
So erstellen Sie eine Interopassembly mit Tlbimp
Fügen Sie den Speicherort von Tlbimp zum Suchpfad hinzu, falls dieser nicht bereits Teil des Suchpfads ist, und Sie sich derzeit nicht in diesem Verzeichnis befinden.
Rufen Sie Tlbimp von einer Eingabeaufforderung aus auf, und geben Sie die folgenden Informationen an:
Name und Speicherort der DLL, die die Typbibliothek enthält
Name und Speicherort des Namespaces, in dem die Informationen platziert werden sollen
Name und Speicherort der Ziel-Interopassembly
Der folgende Code veranschaulicht dies:
Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll
Sie können Tlbimp verwenden, um Interopassemblys für Typbibliotheken zu erstellen, sogar für nicht registrierte COM-Objekte. Allerdings müssen die über Interopassemblys referenzierten COM-Objekte auf dem Computer, auf dem sie verwendet werden sollen, ordnungsgemäß registriert sein. Sie können ein COM-Objekt mit dem Hilfsprogramm Regsvr32 registrieren, das im Windows-Betriebssystem enthalten ist.