2010-05-10 11 views

Trả lời

0

Không, bạn không có. Nó chỉ được sử dụng trong thời gian biên dịch.

0

Chỉ khi bạn đang sử dụng đa luồng, tức là ActiveX EXE hoặc trong proc với các chức năng CoMarshalInterThreadInterfaceInStream v.v.

1

Không, thường là chỉ cần thiết nếu bạn thực sự gọi mã cố gắng sử dụng các loại từ thư viện kiểu. Tôi đã tìm thấy một số ngoại lệ, liên quan đến việc sử dụng các loại từ thư viện kiểu đến các biến thứ nguyên. Tôi nghĩ rằng đó là một cái gì đó như thế này ...

Giả sử thư viện kiểu xác định cấu trúc A và ứng dụng của bạn chứa quy trình như thế này. Nếu thư viện kiểu không được đăng ký, ứng dụng của bạn không thể khởi động - thông báo lỗi được hiển thị.

Sub testSub1(ByRef mybadarray() As A) 

nhưng điều này sẽ OK

Sub testSub2() 
    Dim ok As A ' OK provided you never actually Call testSub2 at runtime ' 
+0

Tôi không rõ ràng về "mã sử dụng loại". Vì vậy, nếu tôi DIM một biến như TYPE hoặc đặt biến đó thành một giá trị, được coi là "sử dụng" loại? và trong trường hợp đó, tôi có cần phân phối tệp .tlb không? –

+0

http://stackoverflow.com/users/15639/markj Nếu tôi có thể làm rõ một số câu hỏi trên, tôi có thể đánh dấu câu trả lời của bạn Được chấp nhận. Cám ơn! –

0

Theo kinh nghiệm của tôi, tôi luôn phân phối tập tin .tlb cùng với .EXE bao gồm đăng ký, nó đã giúp tôi để ngăn chặn việc nhiều lỗi thời gian chạy như "Run lỗi thời gian '429': thành phần ActiveX không thể tạo đối tượng ".