※ ChatGPTを利用し、要約された質問です(原文:C++Builder 6 : TListView でエラー)
C++Builder 6のTListViewでエラーが発生する
このQ&Aのポイント
C++Builder 6のTListViewでリストのインデックスが範囲を超えるエラーが発生する問題があります。
ListView1->Items->Clear();の後にリスト項目の削除を行う際にエラーが発生します。
リストが33件あり、ViewStyleはvsReportです。このエラーは初回実行時にのみ発生します。
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() すると発生します。
どうも解らないので、質問しました。
理由や、解決方法をご存じの方、教えて下さい。
よろしくお願いします。
お礼
ありがとうございました、解決しました。 いろいろ追っていくと、 別の ListView の OnDeletion でエラーが発生していました。 でもなぜ、Clear() で止まって、 実際にエラーが発生している、 OnDeletion 内で止まらないんでしょうかね?