Delphi: динамические массивы

delphi массив

Некоторые полезности при работе с динамическими массивами:

Очистить переменную в оперативной памяти

  ZeroMemory(@l_synchronizations, SizeOf(Tl_synchronizations));

Процедура SetLength изменяет размер строки, одномерного динамического массива или многомерного динамического массива

1) В корне неверное решение, массив на то и динамически, чтобы не иметь ограничений
  setlength(analiz_programs_out, 1000);

2) Инициируем массив, по размеру массива данных. 
Верно до первого условия, при котором какое-либо значение исходного 
массива отбрасывается.
  setlength(analiz_programs_out, Length(b));

3) Не будет работать для разорванного заполения массивов
  setlength(analiz_film.names, ii + 1);

4) Наиболее правильный из придуманных решений
 setlength(analiz_film.Genres, Length(analiz_film.Genres) + 1);

 Добавляем следующий элемент.
 analiz_film.Genres[Length(analiz_film.Genres) - 1] := database_Genre_Add(b[i, 1], 1);
Вы можете оставить комментарий ниже.