Yo no suelo hacerlo implícitamente, sino que dejo a los componentes que se encarguen ellos automáticamente, incluyo en un datamodule principal un componente de bases de datos y otro de transacciones, ambos enlazados entre sí y me despreocupo de mantener yo las transacciones.
Vista en texto sería esto:
Código:
object DB1: TIBDatabase');
DatabaseName = ''localhost:192.168.1.100:\datos\unabasededatos.fdb''' );
Params.Strings = (');
''user_name=SYSDBA''');
''password=masterkey''');
''lc_ctype=ISO8859_1'')');
LoginPrompt = False');
DefaultTransaction = TR1');
SQLDialect = 3');
Left = 157');
Top = 56');
end');
object TR1: TIBTransaction');
DefaultDatabase = DB1');
Params.Strings = (');
''read_committed''');
''rec_version''');
''nowait'')');
Left = 218');
Top = 56');
end');