Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

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

Здравствуйте, не так хорошо знаю делфи, возможно туплю, возможно нужно чтото знать:

есть код
Код:
 pItem  = class
     name : string;
     layer: string;

  end;
  lItem = class
     name : string;
     protocols : array of pItem;
  end;

  public
     addLItem : array of  lItem;
     addPItem : array of  pItem;

procedure addP(name:string);
...
 SetLength(addLItem, Length(addLItem)+1 );
 item := lItem.Create();
 SetLength(item.protocols, 0);
 addLItem[Length(addLItem)-1] := item;
 for i:= 0 to Length(addLItem)-1 do begin
    ShowMessage( '1='+IntToStr(Length(  addLItem[i].protocols)));
 end;


procedure draw( );
   for i:= 0 to Length(addLItem)-1 do begin
    ShowMessage( '2=' + IntToStr(Length(  addLItem[i].protocols)));
 end;

Всё вызываю так
Код:
 
 lp.addP('P');
 lp.draw;
В итоге получаю 2 сообщения о размере подмассива -
1=0
2=106

Почему во второй функции подмассив стал таким, ссылка потерялась?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:11.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025