Hola,
Para el caso de la primera cuestión que planteas, con el permiso de S.O.S. otra opción puede ser algo así:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
t: TStrings;
begin
t := TStringList.Create;
try
try
t.LoadFromFile('C:\archivo.txt');
except
on E: EFOpenError do ShowMessage(E.Message);
on E: Exception do ShowMessage(E.Message);
end;
finally
t.Free;
end;
end;