排序的TStringList错误 - 排序列表上不允许操作

Jak*_*ays 3 delphi delphi-2010

我收到以下错误 - "排序列表上不允许操作"

Idx:= Customers.IndexOfName(ListView1.Selected.Caption);
Customers[idx]:= Edit1.Text + '=' + Edit2.Text + ',' + Edit3.Text //error occurs here 
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?除了写我自己的例程来获取索引值

感谢名单

Rob*_*edy 9

编写自己的例程来获取索引值显然无济于事,因为这不是问题所在.您不能直接修改已排序列表的元素,因为这样做可能会使排序顺序无效.

从列表中删除项目并插入新项目.

Customers.Delete(idx);
Customers.Add(Edit1.Text + '=' + Edit2.Text + ',' + Edit3.Text);
Run Code Online (Sandbox Code Playgroud)

或者,设置Sorted := False.