Tôi có một đối tượng COM bị ràng buộc trễ (My.COMInterface
) sẽ tăng sự kiện khi nó xử lý xong. Làm thế nào để tiêu thụ sự kiện đó từ mã VB6?Làm cách nào để sử dụng các sự kiện từ đối tượng COM bị ràng buộc trễ?
Nếu tôi đã sớm ràng buộc, tôi sẽ khai báo đối tượng COM của tôi là WithEvents và viết một trình xử lý sự kiện bình thường. Làm thế nào tôi có thể đạt được điều này bằng cách sử dụng cuối ràng buộc?
đang hiện tại:
Dim comObject as Object
'Function to launch Process.
Public Function LaunchProcess() As Boolean
Set comObject = CreateObject("My.COMInterface")
LaunchProcess= comObject.CallProcess()
' Once this process has finished, it will raise an event
' called ProcessingFinished - how do I consume it?
End Function
Cách duy nhất mà tôi biết để làm điều đó hiện đang viết một C/C++ cầu để xử lý các sự kiện, như được mô tả trong this MSDN article. Tôi hy vọng cho một phương pháp đơn giản hơn!
+1. Tôi không biết bất kỳ cách nào ngoài những gì được mô tả trong bài viết MSDN. Bạn có nhận thấy phần trong bài viết về cách sử dụng VBScript không? Bạn có thể có một cầu VBScript giao tiếp với VB6 bằng cách sử dụng [Microsoft Script Control] (http://www.microsoft.com/downloads/details.aspx?familyid=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en). Hướng dẫn về cách sử dụng điều khiển tập lệnh từ VB6 http://msdn.microsoft.com/en-us/library/aa227421(VS.60).aspx – MarkJ