Megosztás a következőn keresztül:


A COM Interop bemutatása (Visual Basic)

A komponensobjektum-modell (COM) lehetővé teszi, hogy az objektumok más összetevők számára is elérhetővé tegyék a funkcióját, és alkalmazásokat üzemeltethessenek. Bár a COM-objektumok sok éve alapvető fontosságúak a Windows-programozásban, a közös nyelvi futtatókörnyezethez (CLR) tervezett alkalmazások számos előnnyel járnak.

A .NET-keretrendszer alkalmazásai végül lecserélik a COM-ra fejlesztett alkalmazásokat. Addig is előfordulhat, hogy COM-objektumokat kell használnia vagy létrehoznia a Visual Studióval. A COM-val vagy a COM-interopval való együttműködés lehetővé teszi a meglévő COM-objektumok használatát, miközben a .NET-keretrendszerre való áttérést saját tempójában teszi lehetővé.

A .NET-keretrendszer használatával COM-összetevőket hozhat létre, és regisztráció nélküli COM-interopot használhat. Ez lehetővé teszi annak szabályozását, hogy melyik DLL-verzió legyen engedélyezve, ha egy számítógépen egynél több verzió van telepítve, és lehetővé teszi, hogy a végfelhasználók XCOPY vagy FTP használatával másolja az alkalmazást a számítógépük megfelelő könyvtárába, ahol futtathatók. További információ: Registration-Free COM Interop.

Felügyelt kód és adatok

A .NET-keretrendszerhez kifejlesztett kódot felügyelt kódnak nevezzük, és a CLR által használt metaadatokat tartalmazza. A .NET-keretrendszer-alkalmazások által használt adatokat felügyelt adatoknak nevezzük, mivel a futtatókörnyezet olyan adatokkal kapcsolatos feladatokat kezel, mint például a memória lefoglalása és visszanyerése, valamint a típusellenőrzés végrehajtása. Alapértelmezés szerint a Visual Basic .NET felügyelt kódot és adatokat használ, de a COM-objektumok nem felügyelt kódját és adatait interop szerelvények használatával érheti el (erről később olvashat bővebben ezen az oldalon).

Gyűlések

Egy összeállítás a .NET-keretrendszer alkalmazás elsődleges építőeleme. Ez a funkciógyűjtemény egyetlen, egy vagy több fájlt tartalmazó implementációs egységként lett létrehozva, verziószámozott és üzembe helyezve. Minden összeállítás tartalmaz egy összeállítási jegyzéket.

Típusdefiníciós könyvtárak és szerelvény-manifesztumok

A típuskódtárak a COM-objektumok jellemzőit írják le, például tagneveket és adattípusokat. A szerelvényjegyzékek ugyanazt a függvényt hajtják végre a .NET-keretrendszer-alkalmazások esetében. A következőkre vonatkozó információkat tartalmaznak:

  • Szerelvény identitása, verziója, kultúrája és digitális aláírása.

  • A szerelvény megvalósítását alkotó fájlok.

  • A szerelvényt alkotó típusok és erőforrások. Ide tartoznak a belőle exportált adatok is.

  • Fordítási időbeni függőségek más összeállításoktól.

  • A szerelvény megfelelő futtatásához szükséges engedélyek.

Az összeállításokról és az összeállítási jegyzékekről további információt a .NET-összeállításokban talál.

Típustárak importálása és exportálása

A Visual Studio tartalmaz egy Tlbimp segédprogramot, amellyel adatokat importálhat egy típustárból egy .NET-keretrendszeralkalmazásba. A Tlbexp segédprogrammal típustárakat hozhat létre szerelvényekből.

A Tlbimp-ről és a Tlbexpről további információt a Tlbimp.exe (Type Library Importer) és aTlbexp.exe (Típustár-exportőr) című cikkben talál.

Interop összeállítások

Az interop szerelvények .NET-keretrendszer-szerelvények, amelyek hidat képeznek a felügyelt és a nem felügyelt kód között, és a COM-objektumtagokat egyenértékű .NET-keretrendszer-felügyelt tagokhoz társítják. A Visual Basic .NET által létrehozott interop-összeállítások a COM-objektumokkal való munka számos részletét kezelik, például az interoperabilitási marshaling-et.

Interoperabilitási egyeztetés

Minden .NET-keretrendszer-alkalmazás közös típusokból áll, amelyek lehetővé teszik az objektumok együttműködési képességét, függetlenül a használt programozási nyelvtől. A COM-objektumok paraméterei és visszatérési értékei néha olyan adattípusokat használnak, amelyek eltérnek a felügyelt kódban használttól. Az interoperabilitási adatcsere a paraméterek és visszatérési értékek egyenértékű adattípusokba való csomagolásának folyamata, amikor adatokat továbbítunk a COM-objektumok felé és onnan vissza. További információ: Interop Marshaling.

Lásd még