IE7を入れた後、VB6上で"Microsoft Internet Controls"を使用する際の注意
Internet Explorer 7を入れた後、Visual Basic 6.0上で、"Microsoft Internet Controls"(通称 Web Browserコントロール)を使う場合、あるいは使っているソースコードをリコンパイルする時、"Microsoft Internet Controls"のパスを再設定する必要があります。
実際、私が遭遇したケースは、以下のストーリーです。
- 大分前に、Visual Basic 6.0上で、Web Browserコントロールを使ったアプリケーションを作った
- その後、Internet Explorer 6 → Internet Explorer 7に入れ替えた
- 更にその後、何の気なしに、以前に作ったアプリケーションをリコンパイルしようと、プロジェクトを開くと エラー!エラー!エラー!
- 頭が真っ白になりつつ、Web Browserコントロールを貼り付けたフォームを開くと、コントロールがPictureコントロールにすり替わっている
更に、システムから報告された xxx.log を開くと、「行 nn: クラス SHDocVwCtl.WebBrowser(コントロール Web) はロードされていません。」というメッセージが! - コントロールの参照を開くと、"Microsoft Internet Controls"のチェックが外されている
慌てて設定しようとすると、「そんなファイルは無ぇ」エラー
ウソダ…ウソダドンドコドーン!!!(by.オンドゥル語)
で、結論から申しますと、"Microsoft Internet Controls"の設定パスが以下のようになっていました。
C:\Windows\system32\ieframe.dll
これを、以下のように再設定します。
C:\Windows\system32\shdocvw.dll
tips1 posted by (C) wackyさんの写真
再設定後、再度 Web Browserコントロールをフォームに貼り付ければOKです。
いや〜、焦りました。