Как заставить работать поиск файла по маске
Я пишу мини поисковик по расширениям и хочу перенести функцию поиска из формы и проекта в длл
Проект компилируеться но после того как я выбираю папку и нажимаю кнопку выскакивает ошибка "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.