обход дерева(Delphi) останов и продолжение

имеется сл. вопрос (Delphi)
что такое рекурсивный обход дерева каталогов думаю объяснять глупо
а вот как его остановить (с выходом из программы) а потом продолжить
после запуска - это вопрос. Вроде все сохраняю (Searchrec) в файл,
потом гружу - не выходит. Хелп...
Номер выпуска : 3860
Возраст листа : 441 (дней)
Количество подписчиков : 509
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/276360
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog
http://subscribe.ru/ http://subscribe.ru/feedback
Здравствуйте, Павел.
Что-то мне подсказывает, что так просто остановить его с возможностью
последующего продолжения не получится, если только это действительно
рекурсия.
Дело в том, что когда процедура вызывает саму себя в рекурсии, то пути
возврата записываются в стек, чтобы потом возвращаться тем же путём.
Если процесс прерывается, то стек очищается. Причём прерываться же он
должен как раз таки последовательным выходом из всех вложенных
процедур.
Есть два способа:
1. Либо не делать выход, а запустить внутри процедуру, которая в
каком-то цикле будет запускать Idle. С одной стороны можно будет
сделать что-нибудь другое, а с другой стороны, по определённому
условию можно закончить этот цикл и вернуться к рекурсии. Но есть
большое поле для ошибки: если за время простоя что-нибудь изменится в
структуре дерева, то может появиться ошибка.
2. Можно отказаться от рекурсии. Сначала (может и рекурсивно) загнать
в массив все пути по дереву. А потом в обычном цикле их проходить.
Когда надо прерваться, просто запоминаешь номер, на котором
остановились.