Làm th? nào đ? g?i m?t Visual Basic.NET ho?c Visual Basic 2005 h?i t? Visual Basic 6.0

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 817248 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

GI?I THI?U

Bài vi?t này mô t? cách s? d?ng Microsoft Visual Basic.NET ho?c Microsoft Visual Basic 2005 đ? xây d?ng m?t h?i đ?ng qu?n l? mà có th? đư?c g?i là t? Microsoft Visual Basic 6.0.

THÔNG TIN THÊM

Hư?ng d?n đ? l?.NET lo?i đ? COM

Khi b?n mu?n đ? l? các lo?i trong m?t Microsoft.Qu?c h?i NET đ? Thành ph?n đ?i tư?ng mô h?nh (COM) các ?ng d?ng, h?y xem xét sau đây COM interop yêu c?u thi?t k? th?i. Qu?n l? lo?i)l?p h?c, giao di?n, struct, Enumvà nh?ng ngư?i khác) tương tác t?t v?i các ?ng d?ng khách hàng COM khi b?n th?c hi?n theo các hư?ng d?n này:
  • Xác đ?nh giao di?n và th?c hi?n chúng m?t cách r? ràng trong các l?p h?c. COM interop cung c?p m?t cơ ch? đ? t? đ?ng t?o ra m?t giao di?n đó ch?a t?t c? các thành viên c?a các l?p h?c và các thành viên c?a l?p cơ s?. Tuy nhiên, It's t?t nh?t đ? cung c?p giao di?n r? ràng và th?c hi?n chúng m?t cách r? ràng.
  • Tuyên b? đư?c qu?n l? t?t c? các lo?i mà b?n mu?n đ? l? cho COM như công c?ng. Ch? công c?ng lo?i trong m?t h?i đ?ng đư?c đăng k? và xu?t kh?u sang các lo?i thư vi?n. V? v?y, ch? có các lo?i công c?ng đư?c hi?n th? cho COM.
  • Tuyên b? t?t c? các lo?i thành viên (phương pháp, tài s?n, các l?nh v?c, và s? ki?n) mà b?n mu?n đ? l? cho COM là công c?ng. Các thành viên c?a lo?i h?nh công c?ng ph?i c?ng đư?c công chúng đư?c hi?n th? cho COM. B?i m?c đ?nh, t?t c? các lo?i công c?ng và các thành viên có th? nh?n th?y. S? d?ng các ComVisibleAttribute thu?c tính n?u b?n có đ? ?n m?t lo?i ho?c m?t thành viên t? ki?m soát lo?i ho?c tài kho?n c?a t?m nh?n cho các ?ng d?ng khách hàng COM.
  • Lo?i ph?i có nhà xây d?ng công c?ng m?c đ?nh là instantiated qua COM. Managed, lo?i h?nh công c?ng có th? nh?n th?y COM. Tuy nhiên, N?u không có m?t nhà xây d?ng công c?ng m?c đ?nh (m?t nhà xây d?ng mà không có đ?i s?), COM khách hàng không th? t?o ra m?t th? lo?i. COM khách hàng v?n có th? s? d?ng các g? n?u các lo?i instantiated theo cách khác và trư?ng h?p là quay tr? l?i máy s? d?ng COM. B?n có th? bao g?m các nhà th?u b? quá t?i ch?p nh?n khác nhau đ?i s? cho các lo?i. Tuy nhiên, nhà th?u ch?p nh?n đ?i s? có th? ch? đư?c g?i là t? qu?n l? (.NET) m?.
  • Lo?i không th? tr?u tư?ng. Không ph?i khách hàng COM c?ng không.NET khách hàng có th? t?o th? hi?n c?a các lo?i tr?u tư?ng.
  • S? d?ng các COMClass tiêu b?n b?ng Visual Basic.NET hay Visual Basic 2005. Khi b?n thêm m?t l?p m?i mà b?n d? đ?nh s? phơi bày cho các ?ng d?ng COM, xem xét vi?c s? d?ng các COMClass b?n m?u đư?c cung c?p b?i Visual Basic.NET hay b?i Visual Basic 2005. COMClass tiêu b?n t?o ra m?t l?p h?c bao g?m các COMClassAttribute thu?c tính và t?o ra các GUIDs cho CLSID, giao di?n ID, và ID s? ki?n ti?p xúc c?a lo?i h?nh c?a b?n. Ngoài ra, các COMClass tiêu b?n t?o ra m?t nhà xây d?ng công c?ng mà không có tham s?. Đi?u này là cách d? nh?t đ? t?o ra m?t l?p m?i mà sau các nguyên t?c cho vi?c t?o ra COM callable lo?i.

Đăng k? các.NET Cynulliad Cenedlaethol COM interop và t?o ra m?t thư vi?n ki?u

Cho Visual Basic 6.0 thành công tương tác v?i m?t qu?n l? thành ph?n, b?n ph?i đăng k? h?i đ?ng cho COM interop và t?o ra m?t lo?i thư vi?n. Đăng k? này ph?i đư?c th?c hi?n trên m?i máy tính trong trư?ng h?p m?t COM ?ng d?ng khách hàng tương tác v?i h?i đ?ng. Thư vi?n lo?i cung c?p lo?i thông tin v? các lo?i ti?p xúc v?i trong h?i đ?ng cho các ?ng d?ng khách hàng COM. Quá tr?nh cho vi?c này ph? thu?c vào n?u b?n đang làm vi?c trên s? phát tri?n máy tính ho?c trên máy tính đích.

Trên máy tính phát tri?n, Microsoft Visual Studio.NET ho?c Microsoft Visual Studio 2005 t? đ?ng t?o ra m?t thư vi?n ki?u và đăng k? nó trong quá tr?nh xây d?ng n?u các Đăng k? cho COM Interop ki?m tra h?p đư?c ch?n theo các c?a d? án Cấu hình b?t đ?ng s?n. N?u b?n s? d?ng các COMClass tiêu b?n khi b?n t?o l?p, Visual Studio.NET ho?c th? giác Studio 2005 t? đ?ng ch?n các Đăng k? cho COM Interoph?p ki?m. Đ? xác minh r?ng các Đăng k? cho COM Interop ki?m tra h?p đư?c ch?n trong Visual Studio.NET ho?c trong Visual Studio 2005, làm theo các bư?c sau:
  1. B?t đ?u Visual Studio.NET ho?c Visual Studio 2005.
  2. M? các gi?i pháp có ch?a các d? án mà b?n mu?n đ? xây d?ng cho COM interop.
  3. Trên các Xem tr?nh đơn, nh?p vào Gi?i pháp Thám hi?m.
  4. Trong gi?i pháp Explorer, b?m chu?t ph?i vào các d? án mà b?n mu?n đ? xây d?ng cho COM interop, và sau đó nh?p vàoThu?c tính.
  5. Nh?p vào C?u h?nh thu?c tính, và sau đó b?m vào các Xây d?ng nút.

    Chú ý Trong Visual Studio 2005, nh?p vào Biên d?ch ? bên trái ngăn.
  6. Nh?n vào đây đ? ch?n các Đăng k? cho COM Tương hỗ h?p ki?m. Tùy ch?n này ch? kh? d?ng trong l?p h?c thư vi?n các d? án.
  7. Nh?p vào Ok đ? đóng nh?ng B?t đ?ng s?n Các trang h?p tho?i.
N?u Visual Studio.NET ho?c Visual Studio 2005 không đư?c cài đ?t ho?c N?u b?n đ? t? t?o ra và đăng k? m?t ki?u t?p tin thư vi?n (.tlb) cho H?i đ?ng qu?n l?, s? d?ng đăng k? h?i công c? (RegAsm.exe) v?i các / TLB chuy?n đ?i. B?n c?ng nên s? d?ng các / Codebase chuy?n đ?i n?u h?i đ?ng qu?n l? là m?t h?i đ?ng tư nhân và b?n có ? đ?nh đưa h?i đ?ng đư?c qu?n l? trong m?t thư m?c khác nhau t? quá tr?nh máy ch? lưu tr? (EXE).

M?t h?i đ?ng tư nhân đư?c tri?n khai v?i m?t ?ng d?ng và s?n sàng cho vi?c s? d?ng đ?c quy?n c?a ?ng d?ng đó. Các ?ng d?ng khác không chia s? h?i đ?ng tư nhân. H?i đ?ng tư nhân đư?c thi?t k? đ? đư?c cài đ?t vào thư m?c tương t? như quá tr?nh máy ch? lưu tr? (EXE). V?i m?t ?ng d?ng khách COM, Đi?u này có ngh?a r?ng h?i đ?ng n?m trong thư m?c tương t? như ?ng d?ng đó. M?t h?i đ?ng đư?c chia s? là có s?n đ? s? d?ng b?i nhi?u ?ng d?ng trên các máy tính. Đ? t?o ra m?t h?i đ?ng đư?c chia s?, b?n ph?i đăng nh?p h?i đ?ng v?i m?t m?nh m? tên và cài đ?t l?p ráp vào b? nh? Cache h?i toàn c?u (G?C) trên các máy tính đích.

Cho bi?t thêm thông tin v? làm th? nào đ? đăng các l?p ráp m?t m?nh m? tên và cài đ?t l?p ráp vào h?i đ?ng toàn c?u B? nh? cache (G?C), ghé thăm Web site sau c?a Microsoft:
http://msdn2.Microsoft.com/en-US/Library/xc31ft41 (vs.71) .aspx
B?n nên s? d?ng c? các /TLB: chuy?n đ?i và các / Codebase chuy?n đ?i khi b?n đăng k? h?i đ?ng. Các /TLB: chuy?n đ?i t?o ra và đăng k? thư vi?n ki?u, và các / Codebase chuy?n đ?i đăng k? v? trí c?a h?i đ?ng đư?c qu?n l? trong các Windows registry. N?u b?n không s? d?ng các / Codebase chuy?n đ?i và h?i đ?ng đ? không đư?c cài đ?t vào toàn c?u L?p ráp Cache (G?C), b?n ph?i đ?t m?t b?n sao c?a l?p ráp vào thư m?c c?a m?i ?ng d?ng khách COM (EXE) đ? các h?i đ?ng có th? đư?c đ?nh v? b?ng các ph? bi?n ngôn ng? runtime (CLR).

Đ? t?o và đăng k? thư vi?n ki?u và đăng k? v?i v? trí c?a h?i đ?ng qu?n l?, g? l?nh sau đây t?i d?u nh?c l?nh:
Regasm AssemblyName.dll /TLB: FileName.tlb / codebase

T?o m?t COM callable h?i trong Visual Basic.NET

  1. B?t đ?u Visual Studio.NET ho?c Visual Studio 2005.
  2. Trên các Tệp tr?nh đơn, đi?m đ?nM?i, sau đó b?m Dự án.
  3. Dư?i Các lo?i d? án, b?m Th? giác Các d? án cơ b?n.

    Chú ý Cú nh?p chu?t tr?c quan Studio2005 Visual Basic dư?iCác lo?i d? án.
  4. Dư?i Khuôn mẫu, b?m L?p h?c Thư vi?n.
  5. Tên d? án TestProj, và sau đó b?m vàoOk.

    Theo m?c đ?nh, Class1 đư?c t?o ra.
  6. Trên các Xem tr?nh đơn, nh?p vào Gi?i pháp Thám hi?m.
  7. Nh?p chu?t ph?i Class1.VB, sau đó b?mXóa b?. Nh?p vào Ok xác nh?n xoá c?a Class1.vb ngu?n t?p tin.
  8. Trên các Dự án tr?nh đơn, nh?p vào Thêm L?p h?c.
  9. Dư?i Khuôn mẫu, b?m COM L?p h?c.
  10. Tên l?p COMClass1.vb, và sau đó b?m vàoM?

    COMClass1 đư?c t?o ra v?i đo?n m? sau.
    <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. Thêm các ch?c năng sau đây đ? COMClass1.
       Public Function myFunction() As Integer
          Return 100
       End Function
  12. Trong gi?i pháp Explorer, b?m chu?t ph?i vàoTên d? án, sau đó b?mThu?c tính.
  13. Dư?i C?u h?nh thu?c tính, b?mXây d?ng.
  14. Xác minh r?ng các Đăng k? cho COM Interoph?p ki?m ch?n và b?m Ok.
  15. Trên các Xây d?ng tr?nh đơn, nh?p vào Xây d?ng Gi?i pháp đ? xây d?ng các d? án.
  16. B?t đ?u Visual Basic 6.0.
  17. Trên các Tệp tr?nh đơn, nh?p vào M?i Dự án, và sau đó b?m vào đ? ch?n Tiêu chu?n EXE trong cácD? án m?i h?p tho?i.

    Theo m?c đ?nh, m?t h?nh th?c đó là tên Form1 đư?c t?o ra.
  18. Trên các Dự án tr?nh đơn, nh?p vàoTham khảo.
  19. Trong các Tài li?u tham kh?o có s?n danh sách, b?m đúp vào đ? ch?n TestProj, sau đó b?mOk.
  20. Thêm m?t nút l?nh m?u.
  21. B?m đúp Command1 đ? m? m? c?a s?.
  22. Thêm m? sau đây đ? các Command1_Click s? ki?n.
    Dim myObject As TestProj.COMClass1
    Set myObject = New TestProj.COMClass1
    MsgBox myObject.myFunction
  23. Trên các Ch?y tr?nh đơn, nh?p vàoB?t đ?u.
  24. Nh?p vào nút l?nh.

    B?n s? nh?n đư?c m?t tin nh?n có hi?n th? 100.

THAM KH?O

Đ? bi?t thêm chi ti?t, h?y truy c?p trang Web Microsoft sau đây Trang web:
Interoperating v?i không đư?c qu?n l? m?
http://msdn2.Microsoft.com/en-US/Library/sd10k43k (vs.71) .aspx

Thu?c tính

ID c?a bài: 817248 - L?n xem xét sau cùng: 28 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • 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
T? khóa: 
kbvs2005applies kbvs2005swept kbnamespace kbdll kbcominterop kbinterop kbautomation kbhowtomaster kbmt KB817248 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:817248

Cung cấp Phản hồi

 

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