Показать сообщение отдельно
  #2  
Старый 30.04.2018, 13:26
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Очень тяжелый код. Упростить можно много чего, но речь не об этом.
1. С какой целью Вы используете Finalize(freq_array[Index])? Вы же не динамическую структуру уничтожаете, да и для этого есть Dispose().
2. Полагаю Вы не правильно понимаете действие процедуры Finalize. Она не удалит элемент массива. Вам нужно сдвинуть все элементы массива с индеском больше Index, на место удаляемого элемента (с индексом Index). Move(freq_array[Index+1], freq_array[Index], Length(freq_array) - Index + 1); Мог ошибиться в длине сдвигаемого участка массива, проверьте сами.
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием