-> WinList.pas
function Add(const Text:string):integer; virtual;
//...
function THIWinList.Add(const Text: string):Integer;
begin
Result := Control.Add(Text);
end;
-> THiListBox.pas
// _work_doAdd
idx:integer;
// ...
if _prop_AddType = 0 then begin
idx := Add(s);
if _prop_SelectAdd then Control.CurIndex := idx;
dtInteger(di, idx);
end
else begin
idx := Control.Insert(0,s);
if idx = -1 then Control.Text := s + #13#10 + Control.Text;
if _prop_SelectAdd then Control.CurIndex := idx;
dtInteger(di, idx);
end;
[size=-2]------ Добавлено в 16:51
Суть: если включен Sort, то нет никакой гарантии, что после добавления строки она встанет на
указанное нами место (0 или Control.Count - 1). Это учёл г-н Кладов - у него Control.Add возвращает индекс добавленной строки (который, в свою очередь, возвращает Perform).
В кодах от Dilma этот индекс вообще игнорировался