![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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)
Всё должно работать.
Проверь, куда компилится проект.