Показать сообщение отдельно
  #1  
Старый 13.09.2011, 15:35
ssergey_96 ssergey_96 вне форума
Прохожий
 
Регистрация: 13.09.2011
Сообщения: 10
Репутация: 10
По умолчанию Как заставить работать поиск файла по маске

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