При передаче параметров имени файла в процедуры/функции следует использовать TFilename или String.
Если есть разница, что это такое и какие потенциальные разветвления при использовании String?
например.
procedure TForm1.OpenFile(const AFilename : String);
begin
//Open the file if it exists
...
end;