C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 137 を表示中)
■80425 / )  ActiveXコンポーネントを作成できません。
□投稿者/ のり (1回)-(2016/07/17(Sun) 13:09:07)

分類:[VB.NET/VB2005 以降] 

はじめて投稿させていただきます、のりと申します。初心者です。
どうかよろしくお願いいたします。
VB.net(2015)で作成しています(自分のPCはwindows7 pro sp1です)


■前置き
作成したソフトは自分の環境では動作するのですが、動作確認のためにネットカフェ(windows7 pro sp1)
で検証したところ、以下のようなエラーポップアップが出るときがあります。

↓------------------------------------------------------------------------------
 アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。
 [続行]をクリックするとアプリケーションはこのエラーを無視し、続行しようとします。
 [終了]をクリックするとアプリケーションは直ちに終了します。

 ActiveXコンポーネントを作成できません。
↑------------------------------------------------------------------------------


続行をクリックすると、以降は問題なく使用できてそうです。

毎回でるわけでは無さそうです。
20回ほどテストしてみたところ、上記のエラーポップアップの発生率はランダムに50%くらいです。

数件のネットカフェで試したところ(windows7 pro sp1)、同様のエラーポップアップの現象になりました。

(なお、自分のPCでは発生したことはありません。Visual Studio 2015 はインストールされています)


■本題
なぜ出るのか切り分けを行ってみたところ、どうやら IE を起動するときに上記のエラーになるようです。

現在 IEの使用状況は

 ・[参照設定] → [COM] → [タイプライブラリ] で [Microsoft Internet Control]にチェックを入れてます。

 ・以下コードです(今回の箇所のみ記載します)

    'IEの宣言
    Public IE As SHDocVw.InternetExplorer

    ----ここからフォームロードより下です----- 

    Sub IE_Start()

     'IEの起動
     IE = CreateObject("InternetExplorer.Application")  ←◆ここでエラーポップアップ◆
     IE.Visible = True

     IE.Navigate("http://www.yahoo.co.jp/")

    End Sub

このような感じです。
msgboxを随所に追加して切り分けた結果、
IE = CreateObject("InternetExplorer.Application")
の箇所で、エラーポップアップになっていることが分かりました。


SHDocVw というのが、ActiveXというのを使っているらしいので今回のようなエラーになるのでしょうか。

VisualStudioのソリューションエクスプローラーでは、My Project → 参照 → SHDocVw があります。
H:\WindowsApplication3\WindowsApplication3\obj\Debug\Interop.SHDocVw.dll
SHDocVw の参照先は上記のようなパスが記載されています。

他のパソコンで使うには .exeファイル 以外に Interop.SHDocVw.dll も .exeと同じ階層にコピーしないと
ダメなのでしょうか。


ちなみにデバッグで作成された .exe を使用しています。
H:\WindowsApplication3\WindowsApplication3\bin\Debug
他のパソコンで使用するには、何か別のデバック方法があるのでしょうか。


回避策として考えられることがありましたらアドバイス頂きたいです。

的を得ていない質問ですみません。
どうしても他のパソコンでエラーポップアップが出ないように、自分の環境と同じように使えるようにしたいです。
どうかよろしくお願いいたします。
返信 編集キー/


管理者用

- Child Tree -