Bagaimana memanggil Visual Basic.NET atau Visual Basic 2005 perakitan dari Visual Basic 6.0

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 817248 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

PENDAHULUAN

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.

INFORMASI LEBIH LANJUT

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:
  1. Mulai Visual Studio.NET atau Visual Studio 2005.
  2. Membuka solusi yang berisi proyek yang Anda inginkan untuk membangun untuk COM interop.
  3. Pada Lihat menu, klik Solusi Explorer.
  4. Dalam solusi Explorer, klik kanan proyek yang Anda inginkan untuk membangun untuk COM interop, dan kemudian klikProperti.
  5. Klik Konfigurasi properti, dan kemudian Klik Bangun simpul.

    Catatan Pada Visual Studio 2005, klik Kompilasi di sebelah kiri panel.
  6. Klik untuk memilih Mendaftar untuk COM Interop kotak centang. Pilihan ini hanya diaktifkan di perpustakaan kelas proyek-proyek.
  7. 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:
.aspx http://msdn2.Microsoft.com/en-us/library/xc31ft41 (vs.71)
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

  1. Mulai Visual Studio.NET atau Visual Studio 2005.
  2. Pada Berkas menu, titikBaru, lalu klik Project.
  3. Di bawah Jenis proyek, klik Visual Dasar proyek.

    Catatan Visual Studio2005 klik Visual Basic di bawahJenis proyek.
  4. Di bawah Pola acu, klik Kelas Perpustakaan.
  5. Nama proyek TestProj, dan kemudian klikOke.

    Secara default, Class1 dibuat.
  6. Pada Lihat menu, klik Solusi Explorer.
  7. Klik kanan Class1.VB, lalu klikHapus. Klik Oke untuk mengkonfirmasi penghapusan berkas sumber Class1.vb.
  8. Pada Project menu, klik Tambahkan Kelas.
  9. Di bawah Pola acu, klik COM Kelas.
  10. 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
  11. Tambahkan fungsi berikut untuk COMClass1.
       Public Function myFunction() As Integer
          Return 100
       End Function
  12. Dalam solusi Explorer, klik kananNama proyek, lalu klikProperti.
  13. Di bawah Konfigurasi properti, klikBangun.
  14. Memverifikasi bahwa Mendaftar untuk COM Interopkotak centang dipilih, dan kemudian klik Oke.
  15. Pada Bangun menu, klik Bangun Solusi untuk membangun proyek.
  16. Mulai Visual Basic 6.0.
  17. Pada Berkas menu, klik Baru Project, dan kemudian klik untuk memilih Standar EXE dalamProyek baru kotak dialog.

    Secara default, bentuk yang bernama Form1 dibuat.
  18. Pada Project menu, klikReferensi.
  19. Dalam Referensi yang tersedia Daftar, Klik dua kali untuk memilih TestProj, lalu klikOke.
  20. Tambahkan tombol perintah ke bentuk.
  21. Klik dua kali Command1 untuk membuka kode jendela.
  22. Tambahkan kode berikut untuk Command1_Click acara.
    Dim myObject As TestProj.COMClass1
    Set myObject = New TestProj.COMClass1
    MsgBox myObject.myFunction
  23. Pada Menjalankan menu, klikMulai.
  24. Klik tombol perintah.

    Anda harus menerima pesan yang menampilkan 100.

REFERENSI

Untuk informasi lebih lanjut, kunjungi Website Microsoft berikut situs:
Interoperasi dengan kode tidak dikelola
.aspx http://msdn2.Microsoft.com/en-us/library/sd10k43k (vs.71)

Properti

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
Kata kunci: 
kbvs2005applies kbvs2005swept kbnamespace kbdll kbcominterop kbinterop kbautomation kbhowtomaster kbmt KB817248 KbMtid
Penerjemahan Mesin
PENTING: 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

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com