![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как заставить работать поиск файла по маске
Я пишу мини поисковик по расширениям и хочу перенести функцию поиска из формы и проекта в длл Проект компилируеться но после того как я выбираю папку и нажимаю кнопку выскакивает ошибка "Cannot to assign to TForm1 to a TlistboxStrings" вот код длл Код:
library Project1; uses SysUtils, Classes; {$R *.res} function FindFile(Folder,Mask:String;List:TStrings):TStrings;stdcall; var SR: TSearchRec; // Folder: String; begin Folder := IncludeTrailingPathDelimiter(Folder); if FindFirst(Folder + Mask, faAnyFile, SR) = 0 then try repeat if ((SR.Attr and faDirectory) = 0) and // Файл, а не папка? SameFileName(ExtractFileExt(SR.Name), '.exe') then // Расширение - exe? List.Add(Folder + SR.Name); // Если да - добавляем until FindNext(SR) <> 0; finally Result:=List; FindClose(SR); end; end; exports FindFile; begin end. А Вот код самого приложения Код:
var Form1: TForm1; implementation function FindFile(Folder,Mask:String;List:TStrings):TStrings;stdcall;external 'Find.dll'; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin List.Items:=(FindFile(Shell.Path,Mask.Text,List.Items)); end; end. |