try this:
  if FindFirst(APath + '*.pas', faArchive, Sr) = 0 then
  try
    repeat
      AName := APath + Sr.Name;
      label1.Caption := AName;
      Application.ProcessMessages;
    until FindNext(Sr) <> 0;
  finally
    FindClose(Sr);
  end;