Помогите, пожалуйста. Искал по форумам и ничего конкретного не нашел.
суть: Надо добавить в список н-ое количество строк(узлов), но что б они все были разными. А в случае если одинаковые - добавить Child. Эдакое распределние по типам.
Ессесно что б узнать "есть ли такого же типа" - проходим от 0 до Count-1 по всем корневым узлам( items[i] ) и сравниваем.
проблема в том, что таким макаром узлы добавляются до 2-х. после двух, при проверке вылетает аксес виолэйшн.
добавляю просто:
Код:
procedure AddNode;
var node, subnode:Tcxtreelistnode;
i:integer;
begin
for i:=0 to cxTreelist1.count-1 do
begin
if cxtreelist1.items[i].values[0]=edit1.text //вот в этом месте, при 2м - 3м прохождении выдает аксес виолэйшн в items[i].
then
begin
node:=cxTreelist1.items[i];
subnode:=node.add;
subnode.values[0]:=Edit2.text;
end
else
begin
node:=cxTreelist1.add;
node.values[0]:=edit1.text;
subnode:=node.add;
subnode.values[0]:=edit2.text;
end;
end;
end;
суть: Надо добавить в список н-ое количество строк(узлов), но что б они все были разными. А в случае если одинаковые - добавить Child. Эдакое распределние по типам.
Ессесно что б узнать "есть ли такого же типа" - проходим от 0 до Count-1 по всем корневым узлам( items[i] ) и сравниваем.
проблема в том, что таким макаром узлы добавляются до 2-х. после двух, при проверке вылетает аксес виолэйшн.
добавляю просто:
Код:
procedure AddNode;
var node, subnode:Tcxtreelistnode;
i:integer;
begin
for i:=0 to cxTreelist1.count-1 do
begin
if cxtreelist1.items[i].values[0]=edit1.text //вот в этом месте, при 2м - 3м прохождении выдает аксес виолэйшн в items[i].
then
begin
node:=cxTreelist1.items[i];
subnode:=node.add;
subnode.values[0]:=Edit2.text;
end
else
begin
node:=cxTreelist1.add;
node.values[0]:=edit1.text;
subnode:=node.add;
subnode.values[0]:=edit2.text;
end;
end;
end;