Nếu tôi sử dụng Thư viện kiểu trong dự án VB6, tôi có cần phân phối tệp .tlb (và thậm chí có thể đăng ký nó không?) Với exe được biên dịch trên máy tính đích?Nếu tôi sử dụng một thư viện kiểu (.tlb) trong một dự án VB6, tôi có cần phân phối nó với .exe không?
Trả lời
Không, bạn không có. Nó chỉ được sử dụng trong thời gian biên dịch.
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.
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 '
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 ".
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? –
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! –