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

  1. Wählen Sie im Menü Projekt die Option Verweis hinzufügen aus, und klicken Sie dann im Dialogfeld auf die Registerkarte COM.

  2. Wählen Sie die gewünschte Komponente aus der Liste der COM-Objekte aus.

  3. 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 Namespace INKEDLib für Objekte, auf die in der Bibliothek Microsoft InkEdit Control 1.0 verwiesen wird.

    Imports INKEDLib
    
    Class Sample
        Private s As IInkCursor
    
    End Class
    

So erstellen Sie eine Interopassembly mit Tlbimp

  1. 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.

  2. 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.

Siehe auch