Показать сообщение отдельно
  #10  
Старый 18.12.2009, 19:03
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Код:
Count := Сount + 1;      //<-Даю порядковый номер след. обьекта
Это несколько не так, на самом деле вы увеличиваете массив, поэтому следующая инструкция вообще не в тему.
Код:
SetLength(List, 1)
Когда вы обращаетесь к свойству Count происходит вызов функции GetCount, а когда присваиваете Count какое либо значение, происходит уже вызов процедуры SetCount, поэтому когда вы пишете:
Код:
Count := Сount + 1;
на самом деле будет выполнен такой код:
Код:
SetCount(GetCount + 1)

Кроме того надо иметь ввиду, что отсчет элементов в динамическом массиве идет от нуля, поэтому ваша запись:
Код:
  list[count].name:=2;
будет вызывать ошибку, ведь Count возвращает количество элементов, а это число всегда больше на единицу, чем индекс последнего элемента. Следовательно надо так:
Код:
  list[count-1].name:=2;

Надеюсь все подробно расписал.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием