Buenos dias, tengo un detalle que es primera vez que hago y ver si me pueden ayudar.
Tengo un formulario donde deseo seleccionar que tipo de conexión voy atener, sea remoto (una ip vpn) o local (mismo equipo).
Dentro de la Opciones del proyecto, en formularios solo tengo lo siguiente.. Unit del sistema
Splash_Form := TSplash_Form.Create(Application); Splash_Form.Show; Splash_Form.Update; while Splash_Form.Timer1.Enabled do Application.ProcessMessages; Application.Initialize; Application.Title := 'Control de sistemas'; Application.CreateForm(TFrmConexion, FrmConexion); Application.CreateForm(TDMod1, DMod1); Application.CreateForm(TMain, Main); Splash_Form.Hide; Splash_Form.Free; Application.Run;
En el formulario que hará la conexión tengo lo siguiente ..
Al darle click a un RadioGroup el siguiente código..
If Opciones.ItemIndex = 0 then begin TipoLogin:= 'LOCAL'; end else TipoLogin := 'REMOTO'; // Condiciones de Conexiones if TipoLogin = 'LOCAL' then begin // DMod1:= TDMod1.Create(self); // ------------------------------- FLogin:= TFLogin.Create(self); // Crear Fomulario try FLogin.ShowModal; // Visualiza en forma Modal finally FreeAndNil(FLogin); // Libera el Formulario end; end;
En el formulario FLogin, alli es donde se activa el ADOConnection para tener conexión ala Base de Datos. Pero note que el DataModule donde esta ese componente y las tablas, se activan antes del FLoginy no puedo editar el ConnectionString.
Mi idea es poner el siguiente código en el evento CREATE del DataModule para asi asignar donde va conectarse la base de datos..
if opt = 'LOCAL' then begin ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password=123456;Persist Security Info=True;User ' + 'ID=uca;Data Source=uca_local;Initial Catalog=uca'; ADOConnection1.ConnectionTimeout:= 2800000; ADOConnection1.DefaultDatabase:='uca'; ADOConnection1.LoginPrompt:= False; ADOConnection1.Provider:='MSDASQL.1'; end; if opt = 'REMOTO' then begin ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password=123456;Persist Security Info=True;User ' + 'ID=uca_server;Data Source=uca_server;Initial Catalog=uca'; ADOConnection1.ConnectionTimeout:= 2800000; ADOConnection1.DefaultDatabase:='uca_server'; ADOConnection1.LoginPrompt:= False; ADOConnection1.Provider:='MSDASQL.1'; end;
La variable 'opt' es una variable global donde se le da el valor cuando se selecciona en el formulario conexión el tipo de conexión que se va usar.
De ali no se como hacerle para que cuando pulse click ene el formulario para elegir el tipo de conexión, en el data modulo pueda cambiar la ruta de conexión.
Intenté crear el formulario DataModule, para que se cumpliera el evento CREATE de este, pero no supe como hacerlo.
No se si hast a lli voy bien o me falte algo mas ...
Saludos ..