Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FindFirst [D7, Win2k, WinXP]


uhhax ©   (2005-11-21 03:02:00) 

Ув. мастера, вопрос таков:
есть сорец:

....
if FindFirst(ExtractFilePath(Application.ExeName) + '*.dll', faAnyFile, SearchRec) = 0 then
....

все работает. функция находит мне все библиотеки в корневой папке проги. мне нужно найти файлы в папке проги + директория (папка, например, dir).
сорец:

....
if FindFirst(ExtractFilePath(Application.ExeName) + 'Dir\' + '*.dll', faAnyFile, SearchRec) = 0 then
....

не работает. любые вариации не проходят. + 'Dir\*.exe', 'C:\Путь_к_проге\Dir\*.dll', etc. - все не пашет.
в чем трабла?


uhhax   (2005-11-21 08:54:00) [1]

to Lamer@fools.ua
10x.
____
тему можно закрывать


Lamer@fools.ua   (2005-11-21 07:53:00) [2]

>> uhhax   (21.11.05 03:36) [4]

var
  SearchRec: TSearchRec;
  Path: String;
begin
  Path := ExtractFilePath(Application.ExeName) + 'Plugins\';
  if FindFirst(Path + '*.dll', faAnyFile, SearchRec) = 0 then
    try
      LoadPlugin( Path +SearchRec.Name);
      while FindNext(SearchRec) = 0 do
        LoadPlugin( Path +SearchRec.Name);
    finally
      FindClose(SearchRec);
    end;
end;


Fay   (2005-11-21 06:51:00) [3]

2 uhhax   (21.11.05 3:49) [7]
уважаемый!
Как я заметил, вы тут единственный, кому удалось написать неработающий код такой сомнительной сложности - остальные только гадаю, как вам это удалось. Сразу видны знание дела и высокий профессионализм. Снимаю шляпу и умолкаю!


Virgo_Style   (2005-11-21 06:44:00) [4]

Virgo_Style ©   (21.11.05 6:43) [9]
точно не прав 8-)


Virgo_Style   (2005-11-21 06:43:00) [5]

Если plugin только один, то код из [4] его найдет, но LoadPlugin ему не сделает, или я не прав?


Германн   (2005-11-21 04:03:00) [6]

2 uhhax   (21.11.05 03:49) [7]
> to Fay.
> уважаемый, не хотелось бы вас обидеть, но судя по вашим
> постингам в предыдущие темы (где ваши слова несут полезного
> менее 20%, а 80% - это вопросы и "мусор"), следует усомницца
> в вашем профессионализме и знании дела.
> следовательно. просьба, не писать хотя бы в эту тему ничего.
>
Нарвёшься на то, что никто не будет в эту ветку писАть!

А отладчик на что? Проходил под ним?


uhhax   (2005-11-21 03:49:00) [7]

to Fay.
уважаемый, не хотелось бы вас обидеть, но судя по вашим постингам в предыдущие темы (где ваши слова несут полезного менее 20%, а 80% - это вопросы и "мусор"), следует усомницца в вашем профессионализме и знании дела.
следовательно. просьба, не писать хотя бы в эту тему ничего.

to Джо.
как и было сказано выше (надеюсь не буду повторять в третий раз),что проблема не  втой функции. тело Loadplugin может быть простым месаджом (showmessage('ok')), но и оно не работает (если б все работало. сюда бы не писал).


Джо   (2005-11-21 03:42:00) [8]


> [4] uhhax   (21.11.05 03:36)

Хм. Все нормально. Проверяй все-таки LoadPlugin. Или имя папки проверь. С заменой LoadPlugin на ShowMessage все нормально.


Fay   (2005-11-21 03:39:00) [9]

2 uhhax   (21.11.05 3:36) [4]

Ну дык проходим мы if, или нет?

P.S.
Про repeat...until знаем?


uhhax   (2005-11-21 03:36:00) [10]


var
SearchRec: TSearchRec;
begin
if FindFirst(ExtractFilePath(application.exename) + 'Plugins\' + '*.dll', faAnyFile, SearchRec) = 0 then
begin
LoadPlugin(SearchRec.Name);
while FindNext(Searchrec) = 0 do
LoadPlugin(searchrec.Name);
FindCLose(SearchRec);
end;

на ф-ю LoadPlugin не грешить, т.к. без " + 'Plugins\' " все пашет. ( см. первый листинг)


Джо   (2005-11-21 03:30:00) [11]


> не работает.

А кусок этого кода полностью можна увидеть? Вместе с циклом для FindNext.


uhhax   (2005-11-21 03:27:00) [12]

комплицца туда, куда надо =) и файлы тама есть , которые ищу. все есть, все норм...
и то, что оно должно работать - эт понятное дело, но оно не работает =/


Fay   (2005-11-21 03:18:00) [13]

2 uhhax   (21.11.05 3:02)
Всё должно работать.
Проверь, куда компилится проект.


Наверх

Титульная страница Поиск, карта сайта Написать письмо