掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ActiveX.exe のイベントをWEBページで受け取りたい (ID:103252)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB6で作られたActiveX.exeコンポーネントを、ブラウザ(IE8)上で動かそうとしています。 ActiveX.exe内のメソッドやプロパティ値を呼び出すことはできるのですが、イベントを取得することができません。 ActiveX.DLLなのであれば成功しているのですが、ActiveX.EXEではできません。これは何が間違っているのか(それともそもそもできないのか)を知りたいと思っています。 どのようにすればよいのか教えていただけませんでしょうか。 下記に動作を試したコードを記します。 ActiveX.DLL を Test01.html で表示させ、ボタンを押下すると ◆DLL内のMsgBox:"TESTFUNC01-CALLED"が表示される ◆html上のスクリプトが動作して "EVENT01-RISED"が表示される となるのですが、 ActiveX.EXE を Test02.html で同様に行うと、 ◆DLL内のMsgBox:"TESTFUNC02-CALLED"が表示される のみで、htmlスクリプトが動作しません。 これを動作させたく思っております。 'ActiveX.DLL VB6: Class1.cls ----------------------------- Option Explicit Event Event01(ret As String) Public Sub TESTFUNC() MsgBox "01 TESTFUNC01-CALLED" RaiseEvent Event01("EVENT01-RISED") End Sub 'Test01.html --------------------------------------------- <html> <head> <script type="text/javascript" FOR="TEST01" EVENT="EVENT01(xxx)"> <!-- alert(xxx); //--> </script> </head> </body> <input type="button" value="ActiveX-DLL Test" NAME="push1" onClick="TEST01.TESTFUNC();"><br> <object name="TEST01" width="0" height="0" classid="clsid:4EE9EF04-0DA9-4357-A611-D6894876301F"> </object> </html> ========================== 'ActiveX.EXE VB6: Class1.cls ----------------------------- Option Explicit Event Event02(ret As String) Public Sub TESTFUNC() MsgBox "TESTFUNC02-CALLED" RaiseEvent Event02("EVENT02-RISED") End Sub 'Test02.html --------------------------------------------- <html> <head> <script type="text/javascript" FOR="TEST02" EVENT="EVENT02(xxx)"> <!-- alert(xxx); //--> </script> </head> </body> <input type="button" value="ActiveX-EXE Test" NAME="push1" onClick="TEST02.TESTFUNC();"><br> <object name="TEST02" width="0" height="0" classid="clsid:1400590D-046D-4DBB-8324-D5948CBF65B3"> </object> </html> ========================== ちなみに、ActiveX.EXE の動作の確認として以下の VB6標準EXEを作りました。 この標準EXEでは、 ◆DLL内のMsgBox:"TESTFUNC02-CALLED"が表示される ◆標準EXE内のイベントプロシジャが動作して "EVENT02-RISED"が表示される …となります。 私としては、この標準EXEの様に、前述の Test02.html も動作して欲しいと思っています。 'Form1.frm VB6 標準exe コマンドボタンを1つ配置 ----------- Option Explicit Private WithEvents gTEST02 As TEST02.Class1 Private Sub Command1_Click() Set gTEST02 = New TEST02.Class1 Call gTEST02.TESTFUNC End Sub Private Sub gTEST02_Event02(ret As String) MsgBox ret End Sub よろしくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.