Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизFindFirst Найти похожие ветки
← →
uhhax (2005-11-21 03:02) [0]Ув. мастера, вопрос таков:
есть сорец:
....
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. - все не пашет.
в чем трабла?
← →
Fay © (2005-11-21 03:18) [1]2 uhhax (21.11.05 3:02)
Всё должно работать.
Проверь, куда компилится проект.
← →
uhhax (2005-11-21 03:27) [2]комплицца туда, куда надо =) и файлы тама есть , которые ищу. все есть, все норм...
и то, что оно должно работать - эт понятное дело, но оно не работает =/
← →
Джо © (2005-11-21 03:30) [3]
> не работает.
А кусок этого кода полностью можна увидеть? Вместе с циклом для FindNext.
← →
uhhax (2005-11-21 03:36) [4]
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\" " все пашет. (см. первый листинг)
← →
Fay © (2005-11-21 03:39) [5]2 uhhax (21.11.05 3:36) [4]
Ну дык проходим мы if, или нет?
P.S.
Про repeat...until знаем?
← →
Джо © (2005-11-21 03:42) [6]
> [4] uhhax (21.11.05 03:36)
Хм. Все нормально. Проверяй все-таки LoadPlugin. Или имя папки проверь. С заменой LoadPlugin на ShowMessage все нормально.
← →
uhhax (2005-11-21 03:49) [7]to Fay.
уважаемый, не хотелось бы вас обидеть, но судя по вашим постингам в предыдущие темы (где ваши слова несут полезного менее 20%, а 80% - это вопросы и "мусор"), следует усомницца в вашем профессионализме и знании дела.
следовательно. просьба, не писать хотя бы в эту тему ничего.
to Джо.
как и было сказано выше (надеюсь не буду повторять в третий раз),что проблема не втой функции. тело Loadplugin может быть простым месаджом (showmessage("ok")), но и оно не работает (если б все работало. сюда бы не писал).
← →
Германн © (2005-11-21 04:03) [8]2 uhhax (21.11.05 03:49) [7]
> to Fay.
> уважаемый, не хотелось бы вас обидеть, но судя по вашим
> постингам в предыдущие темы (где ваши слова несут полезного
> менее 20%, а 80% - это вопросы и "мусор"), следует усомницца
> в вашем профессионализме и знании дела.
> следовательно. просьба, не писать хотя бы в эту тему ничего.
>
Нарвёшься на то, что никто не будет в эту ветку писАть!
А отладчик на что? Проходил под ним?
← →
Virgo_Style © (2005-11-21 06:43) [9]Если plugin только один, то код из [4] его найдет, но LoadPlugin ему не сделает, или я не прав?
← →
Virgo_Style © (2005-11-21 06:44) [10]Virgo_Style © (21.11.05 6:43) [9]
точно не прав 8-)
← →
Fay © (2005-11-21 06:51) [11]2 uhhax (21.11.05 3:49) [7]
уважаемый!
Как я заметил, вы тут единственный, кому удалось написать неработающий код такой сомнительной сложности - остальные только гадаю, как вам это удалось. Сразу видны знание дела и высокий профессионализм. Снимаю шляпу и умолкаю!
← →
Lamer@fools.ua © (2005-11-21 07:53) [12]>>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;
← →
uhhax (2005-11-21 08:54) [13]to Lamer@fools.ua
10x.
____
тему можно закрывать
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.059 c