Показать сообщение отдельно
  #3  
Старый 17.11.2012, 00:46
KillDead KillDead вне форума
Прохожий
 
Регистрация: 16.11.2012
Сообщения: 3
Репутация: 10
По умолчанию

одному классу
Tplayers = class(TObject)..
public
addLItem : array of lItem;
addPItem : array of pItem;

+------
нашёл в чём ошибка, только я не понимаю из-за чего она, выге у меня есть код

Код:
procedure addP(name:string);
  
 SetLength(alllItem, 3);

  item := lItem.Create();
  item.level := 1;
  item.name := 'pysical layer';
  allLItem[0] := item;

  item := lItem.Create();
  item.level := 2;
  item.name := 'system layer';
  allLItem[1] := item;

  item := lItem.Create();
  item.level := 2;
  item.name := 'pred system layer';
  allLItem[2] := item;

  SetLength(allPItem, 10);
  itemP := pItem.Create();
  itemP.layer :='system layer';
  itemP.name := 'P protocol';


 SetLength(addLItem, Length(addLItem)+1 );
 item := lItem.Create();
 SetLength(item.protocols, 0);
 addLItem[Length(addLItem)-1] := item;

Если меняю длину у массивов что выше - всё нормально работает. Почему? item нельзя повторно использовать?
Ответить с цитированием