Hola.
Por lo que comenta angel.sosa en el mensaje #9 parece que logró solucionar ese tema, ahora habla de un error de Access Violation.
Angel, no sé como tenes distribuido los componentes, pero si tenes un
TDataModule y ejecutas el código que mencionas en el evento
OnCreate te va a provocar problemas... Te conviene asegurarte que todos los objetos hayan sido creados.
Por ejemplo:
Código Delphi
[-]
unit DataModule
interface
uses
Windows, Messages, SysUtils, Classes, IBDatabase, DB;
const
WM_AFTER_CREATE = WM_USER + 300;
type
TDataModule2 = class(TDataModule)
IBTransaction1: TIBTransaction;
IBDatabase1: TIBDatabase;
procedure DataModuleCreate(Sender: TObject);
private
procedure WmAfterCreate(var Msg: TMessage); message WM_AFTER_CREATE;
public
end;
var
DataModule2: TDataModule2;
implementation {$R *.dfm}
uses IniFiles, Forms, Dialogs;
procedure TDataModule2.WmAfterCreate(var Msg: TMessage);
begin
with TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini') do
try
IBDatabase1.DatabaseName:= ReadString('BD', 'Path','');
IBDatabase1.Params.Clear;
IBDatabase1.Params.Add('user_name='+ReadString('BD', 'User',''));
IBDatabase1.Params.Add('password='+ReadString('BD', 'Pwd',''));
try
IBDatabase1.Open;
except
on E: Exception do
begin
MessageDlg(E.Message,mtError,[mbOk],0);
Application.Terminate
end
end
finally
Free
end
end;
procedure TDataModule2.DataModuleCreate(Sender: TObject);
begin
PostMessage(WM_AFTER_CREATE, 0, 0, 0)
end;
...
end.
Saludos.