Dela via


Introduktion till COM Interop (Visual Basic)

Med komponentobjektmodellen (COM) kan ett objekt exponera dess funktioner för andra komponenter och för värdprogram. Com-objekt har varit grundläggande för Windows-programmering i många år, men program som utformats för CLR (Common Language Runtime) har många fördelar.

.NET Framework-program kommer så småningom att ersätta dem som utvecklats med COM. Tills dess kan du behöva använda eller skapa COM-objekt med hjälp av Visual Studio. Samverkan med COM eller COM-interop gör att du kan använda befintliga COM-objekt när du övergår till .NET Framework i din egen takt.

Genom att använda .NET Framework för att skapa COM-komponenter kan du använda ett registreringsfritt COM-interop. På så sätt kan du styra vilken DLL-version som är aktiverad när mer än en version är installerad på en dator och låter slutanvändare använda XCOPY eller FTP för att kopiera programmet till en lämplig katalog på sin dator där den kan köras. Mer information finns i Registreringsfri COM Interop.

Hanterad kod och data

Kod som utvecklats för .NET Framework kallas för hanterad kod och innehåller metadata som används av CLR. Data som används av .NET Framework-program kallas för hanterade data eftersom körningen hanterar datarelaterade uppgifter som att allokera och frigöra minne och utföra typkontroll. Som standard använder Visual Basic .NET hanterad kod och data, men du kan komma åt ohanterad kod och data för COM-objekt med hjälp av interop-sammansättningar (beskrivs senare på den här sidan).

Sammansättningar

En sammansättning är den primära byggstenen i ett .NET Framework-program. Det är en samling funktioner som skapas, versionshanteras och distribueras som en enda implementeringsenhet som innehåller en eller flera filer. Varje sammansättning innehåller ett sammansättningsmanifest.

Skriv bibliotek och sammansättningsmanifest

Typbibliotek beskriver egenskaperna för COM-objekt, till exempel medlemsnamn och datatyper. Sammansättningsmanifest utför samma funktion för .NET Framework-program. De innehåller information om följande:

  • Sammansättningsidentitet, version, kultur och digital signatur.

  • Filer som utgör sammansättningsimplementeringen.

  • Typer och resurser som utgör sammansättningen. Detta inkluderar de som exporteras från den.

  • Kompilera tidsberoenden för andra sammansättningar.

  • Behörigheter som krävs för att sammansättningen ska köras korrekt.

Mer information om sammansättningar och sammansättningsmanifest finns i Sammansättningar i .NET.

Importera och exportera typbibliotek

Visual Studio innehåller ett verktyg, Tlbimp, som gör att du kan importera information från ett typbibliotek till ett .NET Framework-program. Du kan generera typbibliotek från sammansättningar med hjälp av Tlbexp-verktyget.

Information om Tlbimp och Tlbexp finns i Tlbimp.exe (typbiblioteksimportör) och Tlbexp.exe (typbiblioteksexportör).

Interop-sammansättningar

Interop-sammansättningar är .NET Framework-sammansättningar som överbryggar mellan hanterad och ohanterad kod och mappar COM-objektmedlemmar till motsvarande .NET Framework-hanterade medlemmar. Interop-sammansättningar som skapats av Visual Basic .NET hanterar många av detaljerna i arbetet med COM-objekt, till exempel samverkansr marshalling.

Samverkansr marshalling

Alla .NET Framework-program delar en uppsättning vanliga typer som möjliggör samverkan mellan objekt, oavsett vilket programmeringsspråk som används. Parametrarna och returvärdena för COM-objekt använder ibland datatyper som skiljer sig från de som används i hanterad kod. Samverkanshantering är processen för att paketera parametrar och returnera värden till motsvarande datatyper när de flyttas till och från COM-objekt. Mer information finns i Interop Marshaling.

Se även