Mam obiekt COM z opóźnieniem (My.COMInterface
), który podnosi zdarzenie po zakończeniu przetwarzania. Jak mogę wykorzystać to wydarzenie z kodu VB6?Jak używać zdarzeń z obiektu COM o późnym powiązaniu?
Jeśli byłam wcześniej wiążąca, chciałbym zadeklarować mój obiekt COM jako WithEvents i napisać normalny event-handler. Jak mogę to osiągnąć za pomocą późnego wiązania?
Aktualny kod:
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
Jedynym sposobem, wiem, aby zrobić to obecnie jest napisanie most C/C++ do obsługi zdarzeń, jak opisano w this MSDN article. Mam nadzieję na prostszą metodę!
+1. Nie znam żadnego sposobu poza tym, co opisano w artykule MSDN. Czy zauważyłeś sekcję w artykule na temat używania VBScript? Można mieć mostek VBScript komunikujący się z VB6 za pomocą [Microsoft Script Control] (http://www.microsoft.com/downloads/details.aspx?familyid=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en). Samouczek dotyczący korzystania ze sterowania skryptem z VB6 http://msdn.microsoft.com/en-us/library/aa227421(VS.60).aspx – MarkJ