nesco, разубеди меня, что режим Add нельзя заменить Insert-ом.
procedure ThiMTStrTbl.ActionItm; // проверен
var
Row, Col: integer;
fd: PData;
begin
case Data.Data_type of
data_null: exit;
end;
case Mode of
ITM_INSERT, ITM_REPLACE:
begin
Row := ReadInteger(Data, Null);
if (Row > Control.Count - 1) then Row := Control.Count; // Значит ADD
end;
end;
Col := 0;
Control.LVItemInsert(Row, ');
while Col < Control.LVColCount do
begin
Control.LVItems[Row, Col] := ReadString(Data, Null);
inc(Col);
end;
case Data.Data_type of
data_null: exit;
end;
new(fd);
FillChar(fd^, sizeof(TData), 0);
if (Assigned(SmIlist) and (Control.LVStyle <> lvsIcon)) or
(Assigned(LgIlist) and (Control.LVStyle = lvsIcon)) then
// begin
Control.LVItemImageIndex[Row]:= ReadInteger(Data, Null);
// end;
CopyData(fd, @Data);
Control.LVItemData[Row] := cardinal(fd);
end;