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
ツイート | ![]() |