Delphi相談室その3
■ このスレッドは過去ログ倉庫に格納されています
0172152
NGNGいろいろやってみて、TListBoxとTCheckListBoxの微妙な違いがわかってきました。
基本的には153さんが指摘したように、存在しないItemにStringを代入したときに
どのような処理を行ってるかなのですが、
TListBox(TCustomListBox)では、Index-1までItemが書き込まれている場合、
なにも書き込まれていないItem[Index]に文字を代入できるが、
TCheckListBoxでは文字の代入はできるが、ステータス保存用に拡張された
部分がこの状況に対応していないため、Listのインデックスの範囲が越えて
しまうようです。
TCheckListBoxで項目を書き換えるときのプログラムは
if TCheckListBox.Count = RewriteIndex //プログラム処理上Count<=RewriteIndex
then TCheckListBox.Add(RewriteText) //にしかならないようにしています。
else TCheckListBox.Items[RewriteIndex] := RewriteText;
に書き直しました。
■ このスレッドは過去ログ倉庫に格納されています