Freigeben über


Vorgehensweise: Verweisen auf COM-Objekte aus Visual Basic

Für das Hinzufügen von Verweisen auf COM-Objekte mit Typbibliotheken ist in Visual Basic die Erstellung einer Interopassembly für die COM-Bibliothek erforderlich. Verweise auf die Member des COM-Objekts werden an die Interopassembly geroutet und dann an das eigentliche COM-Objekt weitergeleitet. Antworten vom COM-Objekt werden an die Interop-Assembly übermittelt und an Ihre .NET Framework-Anwendung weitergeleitet.

Sie können auf ein COM-Objekt verweisen, ohne eine Interopassembly zu verwenden, 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 auf True für den Verweis auf das COM-Objekt fest. Wenn Sie mithilfe des Befehlszeilencompilers kompilieren, verwenden Sie die /link Option, 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 das Hilfsprogramm Tlbimp verwenden, um Interopassemblys manuell zu 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 Komponente aus der Liste der COM-Objekte aus.

  3. Um den Zugriff auf die Interopassembly zu vereinfachen, fügen Sie oben in der Klasse oder dem Modul, in der Sie das COM-Objekt verwenden, eine Imports Anweisung hinzu. Im folgenden Codebeispiel wird beispielsweise der Namespace INKEDLib für Objekte importiert, auf die in der Microsoft InkEdit Control 1.0 Bibliothek verwiesen wird.

    
    Class Sample
        'Private s As IInkCursor
    
    End Class
    

So erstellen Sie eine Interop-Assembly mit Tlbimp

  1. Fügen Sie den Speicherort von Tlbimp zum Suchpfad hinzu, wenn er noch nicht Teil des Suchpfads ist und Sie sich derzeit nicht im Verzeichnis befinden, in dem es sich befindet.

  2. Rufen Sie Tlbimp über eine Eingabeaufforderung auf, und geben Sie die folgenden Informationen an:

    • Name und Speicherort der DLL, die die Typbibliothek enthält

    • Name und Speicherort des Namespaces, an dem die Informationen platziert werden sollen

    • Name und Speicherort der Ziel-Interopassembly

    Der folgende Code gibt ein Beispiel:

    Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll  
    

    Mit Tlbimp können Sie Interopassemblys für Typbibliotheken erstellen, auch für nicht registrierte COM-Objekte. Die COM-Objekte, auf die von Interop-Assemblys verwiesen wird, müssen jedoch ordnungsgemäß auf dem Computer registriert sein, auf dem sie verwendet werden sollen. Sie können ein COM-Objekt registrieren, indem Sie das im Windows-Betriebssystem enthaltene Hilfsprogramm Regsvr32 verwenden.

Siehe auch