Bom dia pessoal! Não tenho muita experiência em Delphi e estou "apanhando" com uma aplicação n-tier.
Estou usando conexão DBX com firebird. O problema é que quando executo o cliente, o servidor deveria ser automaticamente carregado, mas o servidor chega a ir pro Tray mas fica travado e o cliente não termina de executar também. Já tentei de tudo mas nada dá certo. Não sei mais o que fazer, por isso estou recorrendo ao grupo. Segue abaixo alguns trechos do código. Grato, Charlestown Maringá-PR ----------------------------------------------------------------------------------------------------------------- // DataModule //////////////////////////////////////////////////////// constructor TDM1.Create(AOwner: TComponent); begin inherited; SocketConnection1.Address := '127.0.0.1'; SocketConnection1.ServerName := 'OdontoServer.rdmMain'; ConnectionBroker1.Connected := True; if not ConnectionBroker1.Connected then ShowMessage('Não conectado!'); end; ///////////////////////////////////////////////////////////////////////////////////////// // RemoteDataModule //////////////////////////////////////////////////////// initialization // uRDMMain TComponentFactory.Create(ComServer, TrdmMain, Class_rdmMain, ciMultiInstance, tmApartment); end. //////////////////////////////////////////////////////// // Form do Servidor //////////////////////////////////////////////////////// procedure TfrmConfigServer.FormCreate(Sender: TObject); begin if FileExists(GetCurrentDir + '\OdontoDB.Ini') then begin ArqIni := TIniFile.Create(GetCurrentDir + '\OdontoDB.Ini'); Try (*Texto := ArqIni.ReadString('OdontoDB', 'Database', ''); for i := 1 to length(Texto) do begin if Copy(Texto,i,1) = ':' then begin edBDIP.Text := Copy(Texto,1, i - 1); edBDName.Text := Copy(Texto,i + 1, length(Texto)); break; end; end; *) edBDArquivo.Text := ArqIni.ReadString('OdontoDB', 'Database', ''); edBDUsuario.Text := ArqIni.ReadString('OdontoDB', 'User_Name', ''); edBDSenha.Text := ArqIni.ReadString('OdontoDB', 'Password', ''); Finally ArqIni.Free; end; end else begin gravaOdontoDB; end; if FileExists(GetCurrentDir + '\OdontoServer.Ini') then begin ArqIni := TIniFile.Create(GetCurrentDir + '\OdontoServer.Ini'); Try edOSIP.Text := ArqIni.ReadString('Server', 'IP', ''); Finally ArqIni.Free; end; end else begin gravaOdontoServer; end; end; procedure TfrmConfigServer.gravaOdontoDB; begin ArqIni := TIniFile.Create(trim(GetCurrentDir) + '\' + 'OdontoDB.Ini'); Try ArqIni.WriteString('OdontoDB', 'DriverName', 'Interbase'); ArqIni.WriteString('OdontoDB', 'Database', edBDArquivo.Text); ArqIni.WriteString('OdontoDB', 'RoleName', 'RoleName'); ArqIni.WriteString('OdontoDB', 'User_Name', edBDUsuario.Text); ArqIni.WriteString('OdontoDB', 'Password', edBDSenha.Text); ArqIni.WriteString('OdontoDB', 'ServerCharSet', ''); ArqIni.WriteString('OdontoDB', 'SQLDialect', '3'); ArqIni.WriteString('OdontoDB', 'ErrorResourceFile', ''); ArqIni.WriteString('OdontoDB', 'LocaleCode', '0000'); ArqIni.WriteString('OdontoDB', 'BlobSize', '-1'); ArqIni.WriteString('OdontoDB', 'CommitRetain', 'False'); ArqIni.WriteString('OdontoDB', 'WaitOnLocks', 'True'); ArqIni.WriteString('OdontoDB', 'Interbase TransIsolation', 'ReadCommited'); ArqIni.WriteString('OdontoDB', 'Trim Char', 'False'); Finally ArqIni.Free; end; end; procedure TfrmConfigServer.gravaOdontoServer; begin ArqIni := TIniFile.Create(trim(GetCurrentDir) + '\' + 'OdontoServer.Ini'); Try ArqIni.WriteString('Server', 'IP', edOSIP.Text); Finally ArqIni.Free; end; end; //////////////////////////////////////////////////////// [As partes desta mensagem que não continham texto foram removidas]