VB6のコード変更で発生するエラーと解決方法

このQ&Aのポイント
  • 会社でGPIB、I/O、ActiveXコンポーネントの環境下でVB6のプログラムを使用して試験評価を行っています。しかし、VB6のコードを変更する際にエラーが発生しています。.vbpファイルを開くと「オブジェクトライブラリは登録されていません」というエラーが表示され、プロジェクトのロード中にもエラーが発生します。また、プロジェクトを上書き保存して.exeファイルを作成する際にもエラーが発生しています。実行すると「実行時エラー”13” 型が一致しません」というエラーが出る問題もあります。
  • 問題の原因として、.vbpファイルを開いた際にオブジェクトライブラリの登録が必要な関連ファイルが見つからない、プロジェクトの読み込み中にエラーが発生したため、コードの変更が正常に行われなかったことが考えられます。また、実行時エラーの原因として、クラスのロードやプロパティ名の不正が挙げられます。
  • 解決方法としては、まず.vbpファイルを開く際に必要なオブジェクトライブラリの登録を行うことが重要です。また、プロジェクトの読み込み中にエラーが発生した場合は、エラーログを参照することで具体的な原因を特定し、対処することができます。最後に、実行時エラーの場合は、クラスのロードやプロパティ名の不正を修正する必要があります。これらの対策を行うことで、VB6のコードの変更がスムーズに行えるようになります。
回答を見る
  • ベストアンサー

vb6について

会社で、GPIB、I/O、ActiveXコンポーネントの環境下で、 VB6のプログラムを使用して試験評価を行っているのですが、 VB6のコードを変更するにあたり、うまくいきません。 どなたかご教授願います。 内容は、 コードを変更したいので、元々の.vbpを開くと、 まず、「オブジェクトライブラリは登録されていません」とエラーが出ます。 その後、「プロジェクトのロードを続けますか?」となるので、OKを押します。 すると、「読み込み中にエラーが発生しました。・・・.logを参照してください」と出ます。 気にせず、OKを押し、コードの内容を変更したあと(※変更しなくても)、 プロジェクトの上書き保存をしたあと、.exeの作成(上書き)をすると、 また、「読み込み中にエラーが発生しました。・・・.logを参照してください」と出ます。 気にせず、OKを押し、作成した.exeを開くと、変更した内容になっていますが、 いざ、実行すると、「実行時エラー”13” 型が一致しません」とエラーが出ます。 .logの内容を確認すると、”クラス・・・がロードされていません”とか、 ”プロパティ名・・・が不正です”とか表示されています。 試験する上で、使用しやすいようにVB6のコードを変更したいのですが、 試験で使用しているPCで元々のコードを変更しようとすると、上記のようなエラーが出ます。 どなたか、解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • uruz
  • ベストアンサー率49% (417/840)
回答No.2

プロジェクトの読込でエラーが出ているのですから、その後なにをやっても無駄です。まともなexeが作成されるわけがありません。 >気にせず、OKを押し、コードの内容を変更したあと(※変更しなくても)、 プロジェクトの上書き保存をしたあと 気にしましょうよ。エラーを内包した状態でまともなexeが作成できるはずがありません。そのプロジェクトを上書き保存してしまうとエラーを許容したプロジェクトとなってしまいますのでそのプロジェクトファイルはただのゴミファイル群となり再利用も出来なくなります。 オリジナルのプロジェクトファイルを持ってきて、それが正常に開くことが最低の条件です。プログラムの修正や変更はその後の話です。 >GPIB、I/O、ActiveXコンポーネントの環境下 このプロジェクトを開くための環境がそのPCに整ってません。 GPIB、I/Oに関連するDLL/OCXファイルが必要ですActiveXコンポーネントはファイル以外にもレジストリへの登録が必要です。 つまり、ターゲットマシンと同じ実行環境をプログラムを変更しようとしているPCにも整えることが必要です。 具体的にはGPIB、I/Oのドライバのインストール、独自のActiveXコンポーネントがあるならそれらのレジストリへの登録。 なお、エラー無視して上書きしてしまったプロジェクトはもう使えませんので注意してください。

その他の回答 (1)

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.1

こちらは参考になりますでしょうか。 VB6 ’オブジェクトライブラリは登録されていません’とエラー表示される。 https://social.msdn.microsoft.com/Forums/ja-JP/9acfa1af-49b1-410e-927d-6aac8e053740/vb6-?forum=vbgeneralja

関連するQ&A

  • vb6 上書き方法について

    vb6にて、元々のコードの内容を変更して、 プロジェクトの上書き保存をした後、 上書きの内容のexeを作成しようとすると、 「コンパイルエラー :メソッドまたはデータメンバが見つかりません」とでます。 デバッグ開始ボタンで変更したコードが問題ないことは確認済です。 元々のコードの内容を変更せず、 exe作成で同じ名前で上書きをしようとしても上記のコンパイルエラーが表示されます。 なぜでしょうか?コンパイルエラーが出る理由をお教え願います。 GPIBやI/Oを使用しているのですが、測定機器につなげた状態で、 exe作成をしないとダメなのでしょうか??? 素人でよくわかりません。どなたかお教え願います。

  • VB6のプロジェクトロードエラーについて

    よろしくお願いします 現在、VB6で開発しているシステムのメンテナンスを行なっているのですが、 先週まで正常にロードされていたプロジェクトでエラーが起こるようになりました。 プロジェクト起動後、オブジェクトライブラリは登録されていません。のメッセージBOXが出て、引続きフォームのロードを続けると、読込中にエラーが発生しました。詳細はlogを確認。というメッセージBOXが出ます。 logの内容が「行 17: クラス MSComctlLib.StatusBar(コントロール StatusBar1) はロードされていません。」という内容です。 最後にロードした時から触ってないのですがエラーになり始めました。 ただ、PCにaccess2010をインストールしましたのでその影響が出ているのでしょうか? すみませんが、よろしくお願いします。

  • VB.Netでのエラーについて

    こんにちわ。 いまVB.Netでプログラミングしている者です。 あるVBプロジェクトファイル(aaaa.dllとします)で ある.dllファイル(bbbb.dllとします)を参照設定しています。 そこでこのVBプロジェクトファイルをビルドすると, このVBプロジェクトファイル内のあるVBファイルの行で, 「Public Function ~」はプロジェクトbbbb.dllで宣言されていますが,プロジェクトaaaa.dllによって参照されていません。」 というコンパイルエラーになってしまいます。 ソリューションエクスプローラで見たところ, 上記のVBプロジェクトファイルの参照設定で,bbbb.dllはエラー表示されていません。 念のためbbbb.dllを一旦削除して,最新のbbbb.dllを改めて「参照追加」したのですが,状況が変わりません。 このエラーは何が原因なのでしょうか? 教えてください。よろしくお願いします。

  • VB2008→VB2010でエラーが出てまいります

    VB2008→VB2010でエラーが出てまいります  今日は、質問させていただきます。どうぞよろしくお願いいたします。  VB2008+Vistaから、VB2010に変更しようといたしました。 一度必要のないと思われるものをすべてアンインストールし、 VB2010をインストール後、作成中のプロジェクトを開きましたところ、 以下のようなエラーが出てまいります。 ↓【エラー一覧】の項目でございます 警告 1 タイプ ライブラリ "Microsoft.Office.Core" のラッパー アセンブリが見つかりません。 警告 2参照コンポーネント '(プロジェクト名)' が見つかりませんでした。 警告 3参照コンポーネント 'Microsoft.Office.Core' が見つかりませんでした。 ↓【参照】タブを開こうといたしますと、下のような表示が出てまいります。 ページを読み込もうとしているときにエラーが発生しました。 ターゲット フレームワーク '.NETFramework,Version=v4.0' の mscorlib を解決できませんでした。これは、ターゲット フレームワークがインストールされていない場合、またはフレームワーク モニカーの形式が正しくない場合に発生する可能性があります。  .NET Frameworkの何かを消してしまったのでは?などと考えまして、 再インストールなど奮闘してみましたが、解決いたしません。。。 インストール済みの.NET~は添付図の項目になります。  もしお詳しい方がいらっしゃいましたら,是非ともアドバイスいただけないでしょうか。 どうぞよろしくお願いいたします。

  • VB6のプロジェクトロードエラーについて

    現在、VB6で作られたプログラムを開いて、編集を行おうとしているのですが、 プロジェクトのロード段階でエラーが出ます。 そのエラーの内容ですが、 「行 372: クラス MSComctlLib.StatusBar(コントロール SBMes) はロードされていません。」となっています。 それで、MSComctlがコンポーネントにないからか、と思い、 コンポーネントの一覧で「Microsoft Windows Common Controls 6.0(SP6)」にチェックを入れて、 適用ボタンを押すと、「オブジェクトライブラリは登録されていません」とエラーが表示されます。 なお、それは新規プロジェクトで上コンポーネントを登録しようとしたときも表示されました。 VB6は入れたばかりで、 一度アンインストールしてインストールをしなおしたりとしています。 ですが、そのエラーが出続けて、PGの変更ができません。 どうすればいいかご存知のかた、ご教授お願いいたします。

  • VB5.0 参照設定で「既にロードされています」

    いつもお世話になっております。 VBで参照設定がうまくいかず困っております。 【環境】OS:Win98/VB:5.0(SP3) 【状況】一度外した参照設定を再び指定すると、以下のエラーメッセージが出て、登録ができない。 「指定されたライブラリ/プロジェクト、または互換ライブラリ/プロジェクトは既にロードされています。」 【詳細】 1.ショートカットを作成したかったので、Shelllnk.tlbを参照設定していた 2.Shelllnk.tlbの参照設定を外した 3.Shelllnk.tlbを新しく作り、再度参照設定しようとしたら、上記のメッセージが出た どこかに一度設定した情報が残っているのでしょうか? VBPファイルもテキストで開いて見たのですが、よくわかりませんでした。

  • vb6.exe - アプリケーションエラー

    VBで作成したEXEを終了させた時、プロジェクトからプログラムを実行して、 プロジェクトを終了させた時に、下記エラーが発生します。 (プロジェクトを開いて閉じるだけではエラーは発生しない。) -------------------------------------------------------- "0x7c950a19"の命令が"0xffffffff"のメモリを参照しました。 メモリが"read"になることはできませんでした。 -------------------------------------------------------- 自分のPCで実行した時のみ発生します。 (他のPCで実行してもエラーは発生しません。) 何かわかる方がいらっしゃいましたらアドバイス頂けたらと思います。 宜しくお願い致します。 <環境> XP SP3 メモリ4G VB6.0 SP6

  • VB6.0からVB.NETへの移行について

    現在、VB6.0で作られているシステムをVB.NETへ移行しようとしています。 そこでAcvtiveX EXEのGlobalMutiUseで作成されている画面を持つプロジェクトを移行する方法に困っています。 現状は、上記の画面が最初に起動されたら常駐して、定期的にサーバから情報を取得して内容を更新して、他の別プロジェクトの画面からその情報を取得して動いているような仕組みとなっています。 それを移行ガイドの通りクラスライブラリで作成して、他の別プロジェクトの画面から情報を取得しにいこうとすると新たに別のインスタンスが作成されて、それを見にいってしまうため情報が取得できません。 VB6.0のAcvtiveX EXEのGlobalMutiUseのように共有のインスタンスを他から見れるようにするにはどうしたらよいでしょうか?なるべく変更を少なくしたいと思っています。 よい解決策をご存知の方がおられましたら是非御教授をお願いいたします。

  • vb2005でアプリケーションを開発しています。

    vb2005でアプリケーションを開発しています。 exeを実行中に、タスクマネージャーのプロセス一覧の「説明」に、 そのexeの処理内容を表示したいのですが、vbのプロジェクトで設定できるの でしょうか? よろしくお願いします。

  • VBでExe作成時に「C2.exeが見つかりません」エラー

    お世話になります。 VB6.0で作成したプロジェクトのEXEファイルを作ろうとすると、「C2.exeファイルが見つかりません」といったエラーが表示されて作成することができません。 以降、別のプロジェクトのEXEを作ろうとしても同様のエラーが出てしまいます。 VBを再インストールすると直るのですが、理由がわかりません。 どなたか対処法などご存知の方がいらっしゃいましたらご回答宜しくお願いします。

専門家に質問してみよう