Panduan: Pembuatan Objek COM dengan Visual Basic

Ketika membuat aplikasi atau komponen baru, adalah terbaik untuk membuat assembly .NET Framework. Akan tetapi, Visual Basic juga memudahkan untuk memaparkan komponen .NET Framework ke COM. Ini memungkinkan Anda untuk menyediakan komponen baru untuk suite aplikasi sebelumnya yang memerlukan komponen COM. Panduan ini menunjukkan cara menggunakan Visual Basic untuk memaparkan objek .NET Framework sebagai objek COM, baik dengan maupun tanpa templat kelas COM.

Cara termudah untuk memaparkan objek COM adalah dengan menggunakan templat kelas COM. Templat ini membuat kelas baru, lalu mengonfigurasi proyek Anda untuk menghasilkan kelas dengan lapisan interoperabilitas sebagai objek COM, dan mendaftarkannya dengan sistem operasi.

Catatan

Meski Anda juga dapat memaparkan kelas yang dibuat dalam Visual Basic sebagai objek COM untuk digunakan kode tak terkelola, ia bukan objek COM sejati dan tidak dapat digunakan oleh Visual Basic. Untuk informasi selengkapnya, lihat Interoperabilitas COM dalam Aplikasi .NET Framework.

Catatan

Komputer Anda mungkin memperlihatkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam petunjuk berikut. Edisi Visual Studio yang Anda miliki dan setelan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE.

Untuk membuat objek COM dengan menggunakan templat kelas COM

  1. Buka proyek Aplikasi Windows baru dari menu File dengan mengeklik Proyek Baru.

  2. Dalam kotak dialog Proyek Baru di bawah bidang Jenis Proyek, periksa apakah Windows terpilih. Pilih Pustaka Kelas dari daftar Templat, lalu klik OK. Proyek baru ditampilkan.

  3. Pilih Tambahkan Item Baru dari menu Proyek. Kotak dialog Tambahkan Item Baru ditampilkan.

  4. Pilih Kelas COM dari daftar Templat, lalu klik Tambahkan. Visual Basic menambahkan kelas baru dan mengonfigurasi proyek baru untuk interop COM.

  5. Tambahkan kode seperti properti, metode, dan peristiwa ke kelas COM.

  6. Pilih Bangun ClassLibrary1 dari menu Bangun. Visual Basic membangun assembly dan mendaftarkan objek COM dengan sistem operasi.

Pembuatan Objek COM tanpa Templat Kelas COM

Anda juga dapat membuat kelas COM secara manual alih-alih menggunakan templat kelas COM. Prosedur ini berguna jika Anda mengerjakan dari baris perintah atau jika Anda menginginkan kontrol lebih besar atas cara objek COM ditentukan.

Untuk menyiapkan proyek Anda untuk menghasilkan objek COM

  1. Buka proyek Aplikasi Windows baru dari menu File dengan mengeklik NewProject.

  2. Dalam kotak dialog Proyek Baru di bawah bidang Jenis Proyek, periksa apakah Windows terpilih. Pilih Pustaka Kelas dari daftar Templat, lalu klik OK. Proyek baru ditampilkan.

  3. Di Penjelajah Solusi, klik kanan proyek Anda, lalu klik Properti. Perancang Proyek ditampilkan.

  4. Klik tab Kompilasi.

  5. Pilih kotak centang Mendaftarkan untuk Interop COM.

Untuk menyiapkan kode dalam kelas Anda untuk membuat objek COM

  1. Di Penjelajah Solusi, klik dua kali Class1.vb untuk menampilkan kodenya.

  2. Ganti nama kelas ke ComClass1.

  3. Tambahkan konstanta berikut ke ComClass1. Ia akan menyimpan konstanta Pengidentifikasi Unik Global (GUID) yang harus dimiliki oleh objek COM.

    Public Const ClassId As String = ""
    Public Const InterfaceId As String = ""
    Public Const EventsId As String = ""
    
  4. Pada menu Alat, klik Buat Guid. Dalam kotak dialog Buat GUID, klik Format Registri lalu klik Salin. Klik Keluar.

  5. Ganti string kosong untuk ClassId dengan GUID, yang menghapus tanda kurung kurawal di depan dan di belakang. Misalnya, jika GUID yang disediakan oleh Guidgen adalah "{2C8B0AEE-02C9-486e-B809-C780A11530FE}" kode Anda akan muncul sebagai berikut.

    Public Const ClassId As String = "2C8B0AEE-02C9-486e-B809-C780A11530FE"
    
  6. Ulangi langkah-langkah sebelumnya untuk konstanta InterfaceId dan EventsId, seperti dalam contoh berikut.

    Public Const InterfaceId As String = "3D8B5BA4-FB8C-5ff8-8468-11BF6BD5CF91"
    Public Const EventsId As String = "2B691787-6ED7-401e-90A4-B3B9C0360E31"
    

    Catatan

    Pastikan GUID baru dan unik; jika tidak, komponen COM Anda dapat berbenturan dengan komponen COM lainnya.

  7. Tambahkan atribut ComClass ke ComClass1, yang menentukan GUID untuk ID Kelas, ID Antarmuka, dan ID Peristiwa seperti dalam contoh berikut:

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)>
    Public Class ComClass1
    
  8. Kelas COM harus memiliki konstruktor Public Sub New() tanpa parameter, atau kelas tidak akan mendaftar dengan benar. Tambahkan konstruktor tanpa parameter ke kelas:

    Public Sub New()
        MyBase.New()
    End Sub
    
  9. Tambahkan properti, metode, dan peristiwa ke kelas, yang mengakhirinya dengan pernyataan End Class. Pilih Bangun Solusi dari menu Build. Visual Basic membangun assembly dan mendaftarkan objek COM dengan sistem operasi.

    Catatan

    Objek COM yang Anda hasilkan dengan Visual Basic tidak dapat digunakan oleh aplikasi Visual Basic lain karena objek tersebut bukan objek COM sejati. Upaya untuk menambahkan referensi ke objek COM tersebut akan menimbulkan kesalahan. Untuk detailnya, lihat Interoperabilitas COM dalam Aplikasi .NET Framework.

Lihat juga