Artikel ini menjelaskan cara menggunakan Microsoft Visual Basic.NET
atau Microsoft Visual Basic 2005 untuk membangun Majelis dikelola yang dapat disebut
dari Microsoft Visual Basic 6.0.
Pedoman untuk mengekspos.Jenis NET untuk COM
Bila Anda ingin mengekspos jenis di Microsoft.NET perakitan untuk
Komponen Object Model (COM) aplikasi, mempertimbangkan interop COM berikut
Persyaratan saat desain. Jenis dikelola)
kelas,
antarmuka,
struct,
ENUMdan lain-lain) berinteraksi dengan aplikasi-aplikasi client COM ketika Anda
Ikuti petunjuk ini:
- Menentukan antarmuka dan secara eksplisit menerapkan mereka dalam kelas.
COM interop menyediakan sebuah mekanisme untuk secara otomatis menghasilkan sebuah antarmuka yang
berisi semua anggota kelas dan anggota kelas dasar. Namun,
cara terbaik untuk menyediakan antarmuka eksplisit dan menerapkan mereka
secara eksplisit.
- Menyatakan semua dikelola jenis yang Anda inginkan untuk mengekspos ke COM sebagai
publik. Hanya publik jenis Majelis terdaftar dan diekspor ke
Perpustakaan jenis. Oleh karena itu, hanya jenis umum terlihat untuk COM.
- Menyatakan semua jenis anggota (metode, properti, bidang, dan
peristiwa) yang Anda inginkan untuk mengekspos ke COM sebagai publik. Anggota jenis publik harus
juga menjadi publik akan terlihat untuk COM. Secara default, semua jenis publik dan anggota
terlihat. Penggunaan ComVisibleAttribute atribut jika Anda harus menyembunyikan jenis atau anggota dari kontrol
jenis atau anggota visibilitas ke COM aplikasi-aplikasi client.
- Jenis harus konstruktor default publik harus
instantiated melalui COM. Managed, jenis umum terlihat untuk COM. Namun,
tanpa konstruktor default publik (konstruktor tanpa argumen), COM
klien tidak dapat membuat sebuah instance dari jenis. COM klien masih dapat menggunakan
Ketik jika jenis instantiated cara lain dan contoh kembali ke
klien COM. Anda dapat menyertakan konstruktor kelebihan beban yang menerima berbagai
argumen untuk jenis ini. Namun, konstruktor yang menerima argumen mungkin hanya
dipanggil dari berhasil (.NET) kode.
- Jenis tidak dapat abstrak. Klien COM tidak juga.NET
klien dapat membuat contoh jenis abstrak.
- Penggunaan COMClass template dalam Visual Basic.BERSIH atau pada Visual Basic 2005. Ketika Anda
menambahkan kelas baru yang Anda berniat untuk mengekspos COM aplikasi, pertimbangkan untuk menggunakan
The COMClass template yang disediakan oleh Visual Basic.BERSIH atau Visual Basic
2005. COMClass template menciptakan kelas yang mencakup COMClassAttribute atribut dan menghasilkan GUID untuk CLSID, ID antarmuka,
dan ID peristiwa yang dihadapkan oleh jenis Anda. Selain itu, COMClass template menciptakan konstruktor publik tanpa parameter. Ini adalah
cara termudah untuk membuat kelas baru yang mengikuti pedoman untuk menciptakan
COM callable jenis.
Mendaftar.NET Majelis COM interop dan menciptakan perpustakaan jenis
Untuk Visual Basic 6.0 untuk berhasil berinteraksi dengan dikelola
komponen, Anda harus mendaftar Majelis untuk COM interop dan menghasilkan sejenis
perpustakaan. Pendaftaran ini harus dilakukan pada setiap komputer di mana COM
aplikasi klien berinteraksi dengan Majelis. Perpustakaan jenis menyediakan jenis
informasi tentang jenis terkena di Majelis COM klien aplikasi.
Proses untuk melakukannya tergantung pada jika Anda bekerja pada pengembangan
komputer atau di komputer tujuan.
Pada komputer pembangunan,
Microsoft Visual Studio.NET atau Microsoft Visual Studio 2005 secara otomatis
menciptakan perpustakaan jenis dan register selama proses membangun jika
Mendaftar untuk COM Interop kotak centang dipilih di bawah
proyek
Konfigurasi properti. Jika Anda menggunakan
COMClass template saat membuat kelas, Visual Studio.NET atau Visual
Studio 2005 secara otomatis memilih
Mendaftar untuk COM Interopkotak centang. Untuk memverifikasi bahwa
Mendaftar untuk COM Interop Periksa
kotak dipilih dalam Visual Studio.NET atau dalam Visual Studio 2005, ikuti
langkah-langkah:
- Mulai Visual Studio.NET atau Visual Studio 2005.
- Membuka solusi yang berisi proyek yang Anda inginkan
untuk membangun untuk COM interop.
- Pada Lihat menu, klik Solusi
Explorer.
- Dalam solusi Explorer, klik kanan proyek yang Anda inginkan
untuk membangun untuk COM interop, dan kemudian klikProperti.
- Klik Konfigurasi properti, dan kemudian
Klik Bangun simpul.
Catatan Pada Visual Studio 2005, klik Kompilasi di sebelah kiri
panel. - Klik untuk memilih Mendaftar untuk COM
Interop kotak centang. Pilihan ini hanya diaktifkan di perpustakaan kelas
proyek-proyek.
- Klik Oke untuk menutup Properti
Halaman kotak dialog.
Jika Visual Studio.NET atau Visual Studio 2005 tidak diinstal atau
Jika Anda harus secara manual menghasilkan dan daftar jenis file library (.tlb)
Majelis dikelola, penggunaan pendaftaran perakitan alat (RegAsm.exe) dengan
/ TLB beralih. Anda juga harus menggunakan
/ Codebase beralih jika Majelis dikelola Majelis pribadi dan Anda
bermaksud untuk menempatkan Majelis dikelola di folder yang berbeda dari proses host
(EXE).
Majelis pribadi digunakan dengan aplikasi dan adalah
tersedia untuk penggunaan eksklusif aplikasi tersebut. Aplikasi lain tidak
berbagi Majelis pribadi. Majelis pribadi dirancang untuk diinstal
ke folder yang sama sebagai proses host (EXE). Dengan aplikasi klien COM,
ini berarti bahwa Majelis terletak di folder yang sama sebagai aplikasi tersebut.
Majelis bersama tersedia untuk digunakan oleh beberapa aplikasi pada
komputer. Untuk membuat Majelis bersama, Anda harus sign Majelis dengan kuat
nama dan menginstal Majelis ke Cache perakitan Global (GAC) pada
komputer tujuan.
Untuk informasi lebih lanjut tentang cara sign
Majelis dengan nama kuat dan menginstal Majelis ke Majelis Global
Cache (GAC), kunjungi Web site Microsoft berikut:
Anda harus menggunakan kedua
/TLB: beralih dan
/ Codebase beralih ketika Anda mendaftar Majelis. The
/TLB: switch menghasilkan dan register perpustakaan jenis, dan
/ Codebase switch register lokasi Majelis dikelola di
Registri Windows. Jika Anda tidak menggunakan
/ Codebase switch dan Majelis belum diinstal ke Global
Majelis Cache (GAC), Anda harus meletakkan salinan dari Majelis ke folder
setiap aplikasi klien COM (EXE) sehingga Majelis dapat terletak oleh
Common language runtime (CLR).
Untuk menghasilkan dan daftar perpustakaan jenis
dan daftar lokasi Majelis dikelola, ketik perintah berikut
pada prompt perintah:
Regasm AssemblyName.dll /TLB: FileName.tlb / codebase
Membuat Majelis callable COM pada Visual Basic.NET
- Mulai Visual Studio.NET atau Visual Studio 2005.
- Pada Berkas menu, titikBaru, lalu klik Project.
- Di bawah Jenis proyek, klik Visual
Dasar proyek.
Catatan Visual Studio2005 klik Visual Basic di bawahJenis proyek. - Di bawah Pola acu, klik Kelas
Perpustakaan.
- Nama proyek TestProj, dan kemudian klikOke.
Secara default, Class1 dibuat. - Pada Lihat menu, klik Solusi
Explorer.
- Klik kanan Class1.VB, lalu klikHapus. Klik Oke untuk mengkonfirmasi penghapusan
berkas sumber Class1.vb.
- Pada Project menu, klik Tambahkan
Kelas.
- Di bawah Pola acu, klik COM
Kelas.
- Nama kelas COMClass1.vb, dan kemudian klikTerbuka
COMClass1 dibuat dengan kode berikut. <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
Public Class ComClass1
#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. If you change them, existing
' clients will no longer be able to access the class.
Public Const ClassId As String = "6DB79AF2-F661-44AC-8458-62B06BFDD9E4"
Public Const InterfaceId As String = "EDED909C-9271-4670-BA32-109AE917B1D7"
Public Const EventsId As String = "17C731B8-CE61-4B5F-B114-10F3E46153AC"
#End Region
' A creatable COM class must have a Public Sub New()
' without parameters. Otherwise, the class will not be
' registered in the COM registry and cannot be created
' through CreateObject.
Public Sub New()
MyBase.New()
End Sub
End Class - Tambahkan fungsi berikut untuk COMClass1.
Public Function myFunction() As Integer
Return 100
End Function - Dalam solusi Explorer, klik kananNama proyek, lalu klikProperti.
- Di bawah Konfigurasi properti, klikBangun.
- Memverifikasi bahwa Mendaftar untuk COM Interopkotak centang dipilih, dan kemudian klik Oke.
- Pada Bangun menu, klik Bangun
Solusi untuk membangun proyek.
- Mulai Visual Basic 6.0.
- Pada Berkas menu, klik Baru
Project, dan kemudian klik untuk memilih Standar EXE dalamProyek baru kotak dialog.
Secara default, bentuk yang
bernama Form1 dibuat. - Pada Project menu, klikReferensi.
- Dalam Referensi yang tersedia Daftar,
Klik dua kali untuk memilih TestProj, lalu klikOke.
- Tambahkan tombol perintah ke bentuk.
- Klik dua kali Command1 untuk membuka kode
jendela.
- Tambahkan kode berikut untuk Command1_Click acara.
Dim myObject As TestProj.COMClass1
Set myObject = New TestProj.COMClass1
MsgBox myObject.myFunction
- Pada Menjalankan menu, klikMulai.
- Klik tombol perintah.
Anda harus menerima
pesan yang menampilkan 100.
Untuk informasi lebih lanjut, kunjungi Website Microsoft berikut
situs:
ID Artikel: 817248 - Kajian Terakhir: 04 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
- Microsoft Visual Basic 2005
- Microsoft Visual Basic .NET 2003 Standard Edition
- Microsoft Visual Basic .NET 2002 Standard Edition
- Microsoft Visual Basic 6.0 Professional Edition
- Microsoft .NET Framework 2.0
- Microsoft .NET Framework 1.1
- Microsoft .NET Framework 1.0
| kbvs2005applies kbvs2005swept kbnamespace kbdll kbcominterop kbinterop kbautomation kbhowtomaster kbmt KB817248 KbMtid |
Penerjemahan MesinPENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:
817248
(http://support.microsoft.com/kb/817248/en-us/
)