処理が終了したイベントを発生させる遅延バインドCOMオブジェクト(My.COMInterface
)があります。 VB6コードからそのイベントをどのように消費するのですか?レイトバインドされたCOMオブジェクトからイベントを消費するにはどうすればよいですか?
私が早期バインディングを使用していた場合、私のCOMオブジェクトをWithEventsとして宣言し、通常のイベントハンドラを作成します。レイトバインディングを使用してこれをどのように達成できますか?
現在のコード:
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
私はそれを行うには知っている唯一の方法は、現在this MSDN articleで説明したように、イベントを処理するC/C++ブリッジを書くことです。私はもっと簡単な方法を望んでいます!
+1。私はMSDNの記事に記載されている以外の方法は知らない。 VBScriptの使用についての記事のセクションに気付いていましたか? [Microsoft Script Control](http://www.microsoft.com/downloads/details.aspx?familyid=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en)を使用してVB6と通信するVBScriptブリッジを持つことができます。 VB6のスクリプトコントロールの使用に関するチュートリアルhttp://msdn.microsoft.com/en-us/library/aa227421(VS.60).aspx – MarkJ