function get_fname (fname_list:Tstringlist;fpname: string):tstringlist;
var
  FileSearchPath: TsearchRec;
  SubDirName:Tstringlist;
begin
  SubDirName:=Tstringlist.Create;
  if Findfirst(fpname,faAnyFile,FileSearchPath)=0 then
  begin
    while findnext(FileSearchPath)<>0 do
    begin
      if (FileSearchPath.Name<>'.')and(FileSearchPath.Name<>'..') then
      BEGIN
        if (FileSearchPath.Attr and faDirectory)=faDirectory then
          SubDirName.Append(fpname+'\'+FileSearchPath.Name)
        else
          fname_list.Append(fpname+'\'+FileSearchPath.Name);
      end;
    end; 
    findclose(FileSearchPath);
  end;       
  
  if SubDirName.Count>0 then
  begin
    while SubDirName.Count>0 do
    begin
      get_fname(fname_list,SubDirName.Strings[0]);
      SubDirName.Delete(0);
    end;
  end;
  SubDirName.Free;
end;
上述涵数是参照相关的文章写的,但总说:[Error] Unit_common_func.pas(44): Incompatible types: 'Cardinal' and 'TSearchRec'
为什么呀?