Hola.
Cuando reemplacé por tu código también me generó error.
Le hice unas modificaciones que verás comparándolo con el original y me funciona correctamente.
Código Delphi
[-]
procedure TDMDatos.Open_bdfb;
begin
IBDatabase1.DatabaseName:=RutaBdFb;
IBDatabase1.LoginPrompt:= False; IBDatabase1.Params.Clear;
IBDatabase1.Params.Add('user_name=SYSDBA');
IBDatabase1.Params.Add('password=masterkey');
if not IBDatabase1.Connected then
begin
IBDatabase1.Open;
IBTransaction1.DefaultDatabase:=IBDatabase1;
end;
if not IBTransaction1.Active then
IBTransaction1.Active:=true;
end;
La llamada con que probe:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
DMDatos.Open_bdfb;
if DMDatos.IBDatabase1.TestConnected then
ShowMessage('Conectado correctamente');
end;
Saludos.