VB6 IEオブジェクトをフォームにSetParentした後の終了処理

解決


m  2005-10-19 23:16:28  No: 126509

VB6です。

IEオブジェクトをフォームにSetParentした(IEの親ウィンドウをフォームにする)後の終了処理で
困っています。

SetParent した後時間を置いて、強制的にですが End で終了させています。

このとき、IEがエラー()を起こしてしまい、OSが不安定になってしまいます。
この処理を行った後、OSを終了させる時にSysFaderというプロセスがでてしまいます。

SetParent で親ウィンドウを変更した後はそのIEオブジェクトはどのようなタイミングで解放
すればきちんと終了させれるでしょうか?

フォームの終了時(Unload(), QueryUnload()等のイベント)に Set IE = Nothing 等で解放させてますが、うまくいきません。

なにかいい方法はありませんでしょうか?


魔界の仮面弁士  2005-10-19 23:56:16  No: 126510

> フォームの終了時(Unload(), QueryUnload()等のイベント)に
> Set IE = Nothing 等で解放させてますが、うまくいきません。
ヘルプで End ステートメントの項を読むと、以下のように書いてありますよね。

----
  フォームおよびクラス モジュールの Unload、QueryUnload、
  および Terminate イベントに記述されたコードは実行されません。
----

> なにかいい方法はありませんでしょうか?
まずは、End を使うのを止めましょう。

# というよりも、別のアプリケーションを SetParent するという仕様自体を
# 見直した方が良いのかも。


m  2005-10-20 00:17:52  No: 126511

魔界の仮面弁士様ありがとうございました。


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

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






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