ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

IE7を入れた後、VB6上で"Microsoft Internet Controls"を使用する際の注意

Internet Explorer 7を入れた後、Visual Basic 6.0上で、"Microsoft Internet Controls"(通称 Web Browserコントロール)を使う場合、あるいは使っているソースコードをリコンパイルする時、"Microsoft Internet Controls"のパスを再設定する必要があります。


実際、私が遭遇したケースは、以下のストーリーです。

  1. 大分前に、Visual Basic 6.0上で、Web Browserコントロールを使ったアプリケーションを作った
  2. その後、Internet Explorer 6Internet Explorer 7に入れ替えた
  3. 更にその後、何の気なしに、以前に作ったアプリケーションをリコンパイルしようと、プロジェクトを開くと エラー!エラー!エラー!
  4. 頭が真っ白になりつつ、Web Browserコントロールを貼り付けたフォームを開くと、コントロールがPictureコントロールにすり替わっている
    更に、システムから報告された xxx.log を開くと、「行 nn: クラス SHDocVwCtl.WebBrowser(コントロール Web) はロードされていません。」というメッセージが!
  5. コントロールの参照を開くと、"Microsoft Internet Controls"のチェックが外されている
    慌てて設定しようとすると、「そんなファイルは無ぇ」エラー
    ウソダ…ウソダドンドコドーン!!!(by.オンドゥル語)


で、結論から申しますと、"Microsoft Internet Controls"の設定パスが以下のようになっていました。
C:\Windows\system32\ieframe.dll
これを、以下のように再設定します。
C:\Windows\system32\shdocvw.dll

tips1
tips1 posted by (C) wackyさんの写真


再設定後、再度 Web Browserコントロールをフォームに貼り付ければOKです。


いや〜、焦りました。