ActiveXコントロールでIEがフリーズ?


海人  2004-03-12 04:46:14  No: 7650

IE6 環境にて、作成した ActiveX.OCX の公開パラメータ/メソッドをJava
スクリプトで制御しています。
この ActiveX を A.OCX とし、メインのIE 'M' に A.html で表示していま
す。A.html には、「window.open('B.html');」が定義されているJava
スクリプトボタンがあり、このボタンを押すと、別のIE 'S' が新たに起
動され、B.html が表示されます。B.html に記述されているJavaスクリプ
ト<処理>ボタンを押すと(2個目)の A.OCX が重い処理を始めます。

     [ IE 'M' ]
     { A.html }
      (A.OCX)
      <B> ボタン      押下→         [ IE 'S' ]
                                     { B.html }
                                      (A.OCX)
                                      <処理> ボタン

この<処理> ボタンを押下した瞬間に、IE 'S' の上に"マウスポインタ"がい
れば問題はないんですが、押下してすぐに IE 'M' にマウスポインタを移動
してしまうと双方の IE がロックしてしまいます。

IE 'S' の起動時に IE 'M' の A.OCX にメッセージが入り、デッドロックして
いると考え、IMessageFilter を組み込み HandleInComingCall でメッセージ
を確認しようとしたはいいものの、今度は IE の終了時に IEXPLORER.EXE が
異常終了してしまい、あらぬ方向で迷ってしまっています。

同一のOCXを別々のIEで動作させる場合にIEがフリーズするという現象を経験
された方はいらっしゃいますでしょうか?また回避方法はあるのでしょうか?

環境:Windows 2000 Pro SP4 / Delphi 5 Pro UP1 / IE 6.0


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加