• ベストアンサー

VB6.0で実行の度に異なるエラー

VB6.0,Windows2000で作成したプログラムについてなのですが,立ち上げなおして実行する度に「実行時エラー'6' オーバーフローしました」「インデックスが有効範囲にありません」等のエラーが出て実行できない場合と,正常に実行できる場合があります. (実行の度に実際に異なるエラーが発生している訳ではないと思います) このような現象は何が原因だと考えられるのでしょうか. ご存知の方ご教授ください.

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

  • ベストアンサー
noname#227796
noname#227796
回答No.1

前者は変数がオーバーフローを起こしているからです。 後者は配列の有効範囲のインデックスを指定していないからです。 出ないときがあるのは、「たまたまオーバーフローを起こさない値が設定された」「たまたま有効範囲のインデックスを指定した」ためです。 つまりはバグです。 デバッグして原因箇所を特定しましょう。 http://www.google.com/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&c2coff=1&q=%8E%C0%8Ds%8E%9E%83G%83%89%81%5B+%83I%81%5B%83o%81%5B%83t%83%8D%81%5B%82%B5%82%DC%82%B5%82%BD&lr=lang_ja http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q=%83C%83%93%83f%83b%83N%83X%82%aa%97L%8c%f8%94%cd%88%cd%82%c9%82%a0%82%e8%82%dc%82%b9%82%f1

silverjet
質問者

補足

ご解答ありがとうございます. おっしゃる通りなのですが, 1.実行する(F5キーを押す)と同時にエラーが表示され(デバッグを押すと固まって強制終了), 2.VBを立ち上げた後,ある場合は何度実行してもエラーは出ない. 3.ユーザ入力や乱数など,実行毎に変化する処理はない. という点が不思議な点です. VBを立ち上げた際に依存する処理等はないはずなのですが. もう少し調べてみます. どうもありがとうございました.

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

この質問を読んで、私にとっては不思議なことに、質問文の中に、全くプログラム・コードが出てきません。プログラムエラーの原因を質問するのに、質問を見た人が、文章だけで原因が判るとお思いですか。 プログラムのエラーって原因の発見が(VBなどでさえ)、すごく難しいと日頃思われませんか。 だだしコードを載せさえすればれば、よく知っている人なら、原因が判るとは言ってません。 自分のパソコンでの実行時特有の条件も影響あるでしょう。 コンピュータは刻々、状態・値を変えていることもあり得ます。エラーの再現もなかなか思い通りには行かないです。 VBのデバッグ支援ツールの ・ブレークポイント ・シングルステップ ・イミディエイトウインドウ ・ウォッチウインドウ ・ローカルウインドウ などの結果は述べられていませんが、それらを使ってやるよりほかないように思いますが。 http://www.nms.ac.jp/nms/physics/kagawa/vb6abc/vc290.htm#s2_9a

silverjet
質問者

お礼

確かにおっしゃる通りです. ご迷惑をおかけしました. どうもありがとうございました.

関連するQ&A

  • VBで作成したパッケージを実行すると実行時エラー'429'が発生してしまいます。

    VBにてcsvファイルのデータをOracleデータベースにinsert、updateするプログラムを作成し、開発パソコンにて正常に動作することを確認しました。 開発パソコン ・Windows2000 Server(SP3) ・Visual Basic 6.0 Enterprise Edition ・Oracle 9i 本番パソコン ・Windows2000 Server(SP3) ・Oracle 9i テストパソコン ・Windows2000 Professional(SP1) 今、上記のように3台のパソコンがあります。 開発パソコンで開発したVBのプログラムをコンパイルしてexeを作成し、開発パソコン上から開発パソコン上のオラクルに対してプログラムを実行すると正常に動作します。 本番パソコンには、Visual Basicをインストールしていないため、プログラムを実行できるようにするには開発パソコンにてディストリビューションウィザードを使ってセットアッププログラムを作成し、本番パソコンにインストールする必要があると思います(質問1.ここまでは正しいですよね??)。 そこでウィザードに沿ってセットアッププログラムを作成し、まずはテストパソコンにてインストール後に実行してみたのですが、エラーが出てしまいました。 「実行時エラー'429' ActiveX コンポーネントはオブジェクトを作成できません。」 質問2.どうすればエラーが発生することなくプログラムを実行できるようになるでしょうか? テストパソコンにオラクルクライアントが必要?それとも何かDLLの更新などが必要? もしおわかりの方いらっしゃいましたら教えて下さい。 よろしくお願いします。

  • VB6プログラムの実行中でのこと

    VB6で作成したプログラムを実行していると、突然フリーズしたように 約10秒程止まる場合があります。一度、この現象が現れるとそれ以降は普通に 動作します。 実行するたびにこのようになります。 考えられる原因や対応方法などありましたら教えてください。

  • 2008ServerでVB6プログラム エラー

    Windows 2008 Server R2 SP1 64bit VB6のプログラムを実行すると 頻繁に下記が発生します 日時 : 2011/11/22 16:55:23 イベントの種類 : エラー コンピュータ : MIYA-SRV2 ユーザー : N/A ソース : Application Error カテゴリー : 100 アプリケーション クラッシュ イベント イベントID : 1000 Windows 2008 Server R2 64bit (SP1でない)場合は、 同様の現象は発生していません なぜでしょうか? 100%は発生しません vbのランタイムは正常にインストールされています

  • VB2005でデバッグ実行できない

    VB2005で[新しいプロジェクト]-[VisualBasic]-[Windowsアプリケーション]で 新規プロジェクトを作成しただけの状態から、ビルド、デバッグ実行すると 以下のエラーが表示され、デバッグ実行できません。 プロジェクトを実行しようとしているときにエラーが発生しました: (省略) 要求された操作には管理者特権が必要です。 Debugフォルダの中のexeファイルにはUACの盾アイコンがついています。 今まで特に気にせずアプリケーションの作成ができていたと思うのですが なぜか急にこのような現象に陥りました。 対処方法を教えてください。 環境:OS=Windows7 Pro    :VisualStudio2005

  • VBがデバッグ時落ちてしまう

    VC6.0でDLLを作成し、VB6.0で呼び出すプログラムを作成しています。 DLLの内容はWindowハンドルを引数にしてそのハンドルを持つWindow上にListboxを作成するというようなものです。(もともとC言語用のDLLだったものをVBで使いまわしています) このプログラムをデバッグ実行し、デバッガ上で停止[実行->終了]とすると、VB6.exeがアプリケーションエラーで落ちてしまいます。(DLLの関数を呼ばない限り大丈夫です) デバッグ実行でも普通に終了(アプリケーションでの終了)であれば正常に終了してくれます。 このままですと、実行時エラーで止まる度にVB6.exeが落ちてしまい非常に不便です。 このような現象で困った方いませんか? 解決策がありましたら教えてください。

  • VB:「実行時エラー53 実行ファイルが見つかりません」

    お世話になっています。 VBよりOracle8.1.6に接続し、指定エクセルのデータを OracleDBにアップロードするというアプリケーションを 社内で配布しています。 一部のPCから、 「実行時エラー53 実行ファイルが見つかりません」 エラーが発生するのです。私のPCからは正常に動作しますし 先週まで成功してたのに今週いきなりこのような現象がおこりまして 悩んでおります。 ちなみに同アプリケーションの別フォームは全PCで正常に 動いていまして、違いといえば、上記エラーが出る場面のみ唯一 Working.aviファイルを実行中呼び出してるところだと思うんですが。 あと先週まで動いてたのに今週から動かないのも気になります。 今週前半にOSのアップデートを行ったのですがそれが原因 だったりすることはあるでしょうか、、 よろしくおねがいします

  • インストーラ実行中にエラーが発生

    初歩的なことかもしれませんが教えて下さい。 Windows2000のVB6.0で開発したアプリをディストリビューションウィザード(Visual Studio6.0)でインストーラを作成しました。実際に、このインストーラでインストールを実行すると、インストールの最初で以下のエラーが発生してインストールできません。但し、インストールするPCによっては正常にインストールできる場合もあります(OSはWin98、2000で出来たり出来なかったり)。なぜこういった現象が発生するのか教えて下さい。 エラー:インストールで指定された'パス\ファイル名'が見つかりません。

  • VB 実行時エラー '3001'

    VB6.0(SP5)で開発していて、エラーが発生して困っております。 今まで使っていたプログラムにちょっとバグ改修をして、新しいバージョンのプログラムを配布したら、Win98マシンで何台か、次のエラーが出ました。 「実行時エラー'3001': 間違った種類または許容範囲外の引数を使用しているか、使用している引数が競合しています。」 プログラムは、「ログイン画面を表示し、IDとパスワードを入力し、DBに登録されているID&パスワードだったら実行」という処理をしています。DBはMySQLです。 エラーが出るマシンでは、このログイン画面(VBForm)が出る前に上記エラーを表示して、終了してしまいます。 ログイン画面を表示するまでの処理としては、 ・.iniファイルから各種パラメータを読み込んで変数にセット ・DBへの接続の文字列を作成する ・AdoConnectSetを実行 ・Formの各種プロパティを設定 ・FormのShowを実行 このような感じです。 そしてさらによくわからないのが、上記手順の合間合間に、MsgBox関数で「○○が終わった」などと、進行状況を表示する処理を追加すると、エラーが発生することなく、ログイン画面の表示までたどり着けるのです。 開発機はWin2000マシンですが、実行しているのはWin95,98,2000などいろいろで、上記のエラーが出るのは98マシンです。 (98マシンでちゃんと動作するのもあります) ズバリの解決法、情報へのポインタ、アドバイス、ヒント... を求めております。よろしくお願いいたします。

  • VB6 Dir関数で52エラー発生

    いつもお世話になっています。 最近になって、VB6のDir関数を実行するとき、実行時エラー52が発生します。 既存のプログラムに、メール送信機能を追加しました。 このとき、BASP21をインストールしました。 これ以外のプログラムのインストールはWindowsUpdate以外はかかっていません。 皆さん、このような現象は体験されていますでしょうか? 解決策をご存知の方、ご教授願います。 BASP21が悪いのかと思い、アンインストールしましたが、現象は再現します。 VB6の再インストールをしましたが、再現します。 以上よろしくお願いします。

  • VB6.0⇒VB2008のコンバートについて

    ある端末でVB6.0のプログラムをVB2008へコンバートしました。 その後、別のVB6.0がインストールされていない端末でプログラムを実行しようとしたところ、"COMExceptionはハンドルされませんでした。"とエラーが発生しました。 上記のコンバートしたプログラムではソケット通信でwinsockを利用していました。 そのためプログラムを修正して、winsockを利用しないようにしたところ、エラーがなく実行できました。 おそらく、VB6.0がインストールされていない事が原因だと思うのですが、いまいちわかりません。 どなたかご教授お願いします。

専門家に質問してみよう