Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.01;
Скачать: CL | DM;

Вниз

Поиск файлов FindNext, FindFirst   Найти похожие ветки 

 
Novice   (2007-05-03 07:54) [0]

При использовании функций для поиска файлов столкнулся с такой проблемой. Есть процедура ScanForFiles(Path : string), которая является методом некоторого класса. И вот в чем соль - если переменную MySearchRecord : TSearchRec объявить как локальную переменную процедуры ScanForFiles, тогда вся фукнция работает без проблем - сканирует каталоги любой степени вложенности и все такое. Но стоит переменную MySearchRecord : TSearchRec сделать полем класса в секции Private, как рекурсивный поиск отказывается работать - выглядит это следующим образом - поиск доходит до первого каталога, если в нем есть другие каталоги, то опять входит в первый каталог и так до конца, затем выходит обратно, и вся функция завершается, несмотря на наличие кучи других каталогов.
В чем может быть дело?


 
MBo ©   (2007-05-03 08:28) [1]

Ну так не делай MySearchRecord полем класса!
Она должна быть локальной переменной рекурсивной процедуры, иначе поиск не может продолжиться после возврата из рекурсии.


 
Novice   (2007-05-03 09:01) [2]

Ну, что полем класса эту переменную делать ненужно, это я уже понял.
А за объяснение

>>Она должна быть локальной переменной рекурсивной процедуры,
>>иначе поиск не может продолжиться после возврата из рекурсии.

очень благодарен.



Страницы: 1 вся ветка

Текущий архив: 2007.07.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
4-1169561885
Raptoridze
2007-01-23 17:18
2007.07.01
нажать меню в чужом приложении


2-1181207740
alienff
2007-06-07 13:15
2007.07.01
FTP


3-1175693236
Megabyte
2007-04-04 17:27
2007.07.01
внутренний массив или последовательный перебор в ХП


2-1181198499
Solbon
2007-06-07 10:41
2007.07.01
Системный журнал


9-1154688619
DevilDevil
2006-08-04 14:50
2007.07.01
Режим обратной связи. Зачем?