• ベストアンサー

C++Builderのエラーメッセージ

使用するコンポーネントの数を増やしてゆくと、以下のようなメッセージに遭遇することがあります。(今回は、実行時の定数を大きくしたときのみ発生です。) デバッガの例外発生 プロジェクトtest.exeがElistErrorクラスの例外を生成しました。'リストのインデックスが範囲を超えています(7)’プロセスは停止しています。再開するにはステップ実行または実行を選択して下さい。 'リストのインデックスが範囲を超えています(7)’とは、何を意味しているのですか?また、数字の7の意味は何でしょう?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

>リストのインデックスが範囲を超えています あるインデックスで参照しようとしたリストがリストの実際の存在するインデックスの範囲を超えている。 例えて言えば、 list[0:10]の配列で list[-1]とか list[11]とかしたって言うこと デバッガでストップしている時に インデックスが本当に、期待しているような値かどうか調べて下さい。

teo98
質問者

お礼

有難うございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 配列の足し算でのエラー(C++builder ver.6)

    配列の足し算のところでエラーが発生しました。 このような文の所です。 pLength[label]=pLength[label]+1.0; コンパイル自体は問題なくできたのですが、いざ実行させると下のようなエラーメッセージが表示されました。いったい何がいけないのでしょうか?よろしくおねがいします。 --------------------------- デバッガ例外が発生 --------------------------- プロジェクト Project.exe が EAccessViolation クラスの例外を生成しました。 'モジュール 'Project.exe' のアドレス 00404BB2 でアドレス 0A45C614 に対する読み込み違反がおきました。' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。

  • C++Builder 6 : TListView でエラー

    TListView コンポーネントを配置した、フレーム内で、 ListView1->Items->Clear(); とすると、 「リストのインデックスが範囲を超えています(10)」 という意味の解らないエラーが発生します。 そこで、 int c = ListView1->Items->Count; for (int i=0; i<c; i++) {   ListView1->Items->Delete(0); } と書き換えると、残り11件のところで削除するときに上記のエラーが発生します。 リストは、33件あります。ViewStyle は、vsReport です。 また、このエラーは、2度目は発生しません。 実行して、最初に Clear() すると発生します。 どうも解らないので、質問しました。 理由や、解決方法をご存じの方、教えて下さい。 よろしくお願いします。

  • I/Oエラー(Delphi)

    現在Delphiでプログラムを組んでいるのですが、Writelnを使用すると下記の様なエラーが発生してしまいます。 「プロジェクト Project1.exe が EInOutError クラスの例外を生成しました。 'I/Oエラー (105)' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。」 解決法をどなたか教えてください。 よろしくお願いします。

  • Timerコンポーネント

    プログラミング超素人です。 最近、Delphi6personalをダウンロードして、 win2000上で使ってます。 簡単なソフトを作ろうと思い、とりあえずコンポーネントをベタベタ貼って、雰囲気を味わっています。 コンパイル時に出るエラーは、大体、ヘルプなどを参考にして、改変したのですが、コンパイル後に出るエラーの 意味が良くわかりません。 MediaplayerコンポーネントのFilenameにOpendialogで 開いたファイル名を代入して、再生しようと思っていますが、何回か再生、停止、Opendialogを使っていると以下のようなエラーが出ます。 何が悪いのでしょうか。 サルにもわかるように解説お願いいたします。 --------------------------- デバッガ例外が発生 --------------------------- プロジェクト Project020531.exe が EMCIDeviceError クラスの例外を生成しました。 'そのデバイス名はこのアプリケーションでエイリアスとして既に使用されています。一意のエイリアスを使用してください。' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。 --------------------------- OK ヘルプ(H) ---------------------------

  • パソコンのエラーメッセージ

    windows7のパソコンで、起動させるたび、エラーメッセージが出て困っています。どうすれば消えるかわかる方いらしたら、教えてください。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました[続行]をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。 インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメータ名:インデックス さらに詳細は以下のようなものです。 Just-In-Time (JIT) デバッグを呼び出すための詳細については、 ダイアログ ボックスではなく、このメッセージの最後を参照してください。 ************** 例外テキスト ************** System.ArgumentOutOfRangeException: インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 パラメータ名: index なお、エラーメッセージが出る直前にquick time prayerをダウンロード→インストールしました。 これが原因でしょうか? どうか解決方法わかる方、教えてください。

  • エラーメッセージについて

    起動時に「実行時エラー’9’ インデックスが有効範囲にありません。」と必ず表示されます。何を意味するものか、どうすれば表示されないようにできるのか分かりません。対処の仕方を教えてください。 OSはWindowsXPです。

  • C#:VS2008について

    現在VS2008C#で開発を行っています。 そこで、デバッグで実行するとSaveFileDialogの表示時に下記のエラーが発生しています。 "OLE が呼び出される前に、現在のスレッドが Single Thread Apartment (STA) モードに設定されていなければなりません。Main 関数に STAThreadAttribute が設定されていることを確認してください。 この例外はデバッガがプロセスにアタッチされている場合にのみ発生します。" しかし、EXEで実行した場合上記エラーが発生せず、正常にSaveFileDialogが表示されます。 そこで質問なのですが、デバッグで実行した場合と、EXEで実行した場合では何か違いがあるのでしょうか?また、なぜ上記エラーはデバッグ実行時のみ発生しているのでしょうか?回答よろしくお願い致します。

  • c# 例外が重複する場合

     こんにちは。c#初心者です。  今回は例外に関する質問です。 ----------------------------------------------------- list1, list2を「System.Collections.Generic.List<int>」とします。 int GetValue(int index1, int index2) {   //*1   //とりあえず、何らかの計算を行う(この場合は掛け算)   return list1[index2] * list2[index2]; } -----------------------------------------------------  上記の場合、普通だったら引数の範囲のチェックが必要になると思うのですが、たまたまList<T>の既定の「0~Count - 1」の範囲とまったく同じだった場合、 一般化していえば、現在のメソッド(、プロパティ、インデクサ、コンストラクタ)の引数の前提条件と、その中で呼び出されるメソッド(、プロパティ、インデクサ、コンストラクタ)の前提条件が等しく、スローされる例外も等しい場合、*1に if ( index1 < 0 || index1 <= list1.Count )   …… if ( index2 < 0 …… は必要でしょうか? それとも呼び出される側に任せて例外のチェックを行わなくても良いのでしょうか?  チェックなどは重複しないほうがよいとは思うのですが、まだ細かいところがわかりません。どなたか詳しい方がいらっしゃいましたらご意見を伺わせてください。

  • このエラーメッセージの意味

    OS(WindowsXP SP2)を立ち上げると、たまに次のようなエラーメッセージが出ますが、OKをクリックして、特に支障なく動きます。再起動すると、今度はそのメッセージは出ません。その意味が分かりません。よろしくお願いします。 「"aoctrl.dll.Start AOCTRI.Server"の実行中に例外が発生しました。」

  • IEでエラーメッセージ

    IE9で開く都度、次のようなエラーメッセージが出ます。 アプリケーションのコンポーネントでバンドルされていない例外が発生しました。「継続」をクリックするとアプリケーションはこのエラーを無視し実行しようとします。負の値ではない数値が必要です。 パラメータ名totaalWidth    「続行」    「詳細」 続行を押すか×で閉じると問題ありませんが、同一サイトの新しい画面など、とにかく別の画面にする都度表示され面倒でたまりません。 IE9からIE11に変更したり、システムの良好な日時での復元をしても、改善されませんでした。 いつものサイト閲覧、いつものアプリ使用のみで何ら変わったことはしていません。 今日突然事象が発生しました。どなたか助けてください。