Chuyển từ Early Binding sang Late Binding

Liên hệ QC

killitmore

Thành viên hoạt động
Tham gia
8/12/14
Bài viết
165
Được thích
72
Cho em hỏi rằng khi em muốn chuyển từ early binding sang Late Binding thì làm thế nào để tìm được tên Class để đẩy vào hàm CreateObject?
Ví dụ em muốn chuyển
Mã:
Dim objHTTP As New WinHttp.WinHttpRequest
thành
Mã:
Dim objHTTP As ObjectSet objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")

Thì làm thế nào để tìm được tham số "WinHttp.WinHttpRequest.5.1" để điền vào hàm CreateObject -0-/.
 
Cho em hỏi rằng khi em muốn chuyển từ early binding sang Late Binding thì làm thế nào để tìm được tên Class để đẩy vào hàm CreateObject?
Ví dụ em muốn chuyển
Mã:
Dim objHTTP As New WinHttp.WinHttpRequest
thành
Mã:
Dim objHTTP As ObjectSet objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")

Thì làm thế nào để tìm được tham số "WinHttp.WinHttpRequest.5.1" để điền vào hàm CreateObject -0-/.

Trong mọi trường hợp, ta đều có thể tìm trong Registry. Ví dụ:
- Bấm Start\Run rồi gõ lệnh REGEDIT
- Bấm Ctrl + F tìm từ khóa: WinHttp.WinHttpRequest
- Kết quả nhận được sẽ như hình:

Capture.JPG






















- Chú ý cái tên phía khung phải của key ProgID, đó là chuỗi mà bạn cần
- Một vài object không có key ProgID, vậy bạn có thể dùng tên CLSID để dùng. Có nghĩa là với object objHTTP, để kết nối trễ, bạn có thể khai báo theo 2 cách:
Hoặc là:
Mã:
Dim objHTTP as Object
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
Hoặc là:
Mã:
Dim objHTTP as Object
Set objHTTP = CreateObject("new:{2087c2f4-2cef-4953-a8ab-66779b670495}")
- Áp dụng tương tự cho bất cứ object nào
 
Upvote 0
Em cảm ơn thầy ndu nhiều :) Đúng là câu trả lời cho vấn đề của em
 
Upvote 0
Web KT
Back
Top Bottom