zub писал(а):КОД: ВЫДЕЛИТЬ ВСЁ
Finalize(FListOfFiles,Length(FListOfFiles)-1);
Точное количество элементов массива минус 1 элемент. Была дурная мысль, что по какай то причине поле-массив не хочет полностью освобождаться.
Вчера вычитал определение этой функции в учебнике по обжект паскалю. Вот очень похожее описание, практически как в учебнике:
Finalize, процедура
Синтаксис
procedure Finalize(var Buffer):
procedure Finalize(var Buffer; Count: Integer);
Описание
Процедура Finalize очищает строки, динамические массивы, интерфейсы, значения типа Variant, а также записи или массивы, содержащие элементы этих типов. Delphi автоматически очищает переменные строкового, интерфейсного, вариантного типа и динамических массивов, но если память для этих значений была выделена динамически, то до освобождения памяти необходимо выполнить процедуру Finalize.
Для того чтобы очистить более одного элемента массива, передайте количество элементов массива в параметре Count. Count - это количеств элементов массива, а не количество освобождаемых байт памяти.
Finalize не является настоящей процедурой.
Второй параметр этой процедуры позволяет указать количество освобождаемых элементов массива. Но путем проб и ошибок, и принимая во внимание свою задачу, я доволен тем, что без указания второго параметра массив очищается полностью.
Mikhail писал(а):Прошу прощения, не увидел что поток создается в приостановленном состоянии. Тогда вообще не понятно в чем смысл?
Смысл простой - будет создаваться N количество наследников этого класса. В процессе создания не все параметры необходимые для работы каждого отдельного экземпляра заполнены. Есть необходимость в плановой приостановке процесса на время и полная остановка для внесения изменений в значение параметров и последующим стартом.
Пока это и классом то трудно назвать,... Заготовка начального уровня. Получится - хорошо, будет плюс к самооценке.
Добавлено спустя 22 минуты 4 секунды:Стоп, ребяты. Похоже это временный глюк самого лазаруса. Сегодня тот же самый проект с которого все началось - спокойно обнулил массив как через Finalize, так и через setlength(array,0). Без ошибок и с положительным результатом.