mam funkcję:

void TForm1::ListujKatalogi(String Path)
{
   TSearchRec sr;
   int result;

   result = FindFirst(Path + "*.*", faAnyFile, sr);

   while (result == 0)
   {
      if ((sr.Name != ".") && (sr.Name != "..") && ((sr.Attr & faDirectory) > 0))
      {
         ListujKatalogi(Path + sr.Name + "\\");
      }
      if ((sr.Name != ".") && (sr.Name != "..") && (!(sr.Attr & faDirectory) > 0))
      {
         AnsiString NazwaPliku = Path + sr.Name;
         NazwaPliku = NazwaPliku.Delete(1, Edit1->Text.Length() + 1);
         ListBox1->Items->Add(NazwaPliku);
      }
      result = FindNext(sr);
   }
   FindClose(sr);
}

i wszystko działa ok tzn. wypisuje wszystkie pliki do ListBox1,
ale gdy chcę wyszukać np. tylko plików *.exe

result = FindFirst(Path + "*.exe", faAnyFile, sr); nic nie znajduje pomimo, że pliki takie są w podanym katalogu.