Ver Mensaje Individual
  #3  
Antiguo 11-01-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
La cara oculta de delphi 4 de ians marteens deja claro como hacerlo, aqui te pongo un trocito de código que yo uso.

notas:
MensajeAdd es simplemente un log de inicio de sesion que hago para detectar errores.
gl.db es un registro global de la aplicación donde se guarda las opciones (las inicializo desde un TiniFile)
Código:
if misession.Active then
  misession.Close;
     with MiSession do
  begin
  try
   MensajeAdd(true,'1   Configurar la sesion' );
   MensajeAdd(true,'1.1 Usando Carpeta de Red: '+gl.DB.NetFileDir );
     NetFileDir:=gl.DB.NetFileDir ;
   MensajeAdd(true,'1.2 Usando carpeta temporal: '+gl.DB.PrivateDir );
     PrivateDir:= gl.DB.PrivateDir  ;
   MensajeAdd(true,'1.3 Modo Sesion: cmAll');
   ConfigMode := cmAll;
   MensajeAdd(true,'1.4 Modo servidor: '+BooltoStr(ini.ReadInteger('Settings','RGClient',1)= 0,true));
   MensajeAdd(true,'2   Alias' );

   if IsAlias(gl.DB.Alias) then
   begin
    MensajeAdd (true,'2.1 Usando alias existente: '+gl.DB.Alias);
   end
   else
   begin
     MensajeAdd(true,'2.1 Creando Alias: '+gl.DB.Alias +' para la carpeta:'+gl.DB.DatabaseDir  );
     AddStandardAlias(gl.DB.Alias , gl.DB.DatabaseDir, 'Paradox');
   end;
  except
    on E:Exception do HandleException('Error al configurar la sesion',E);
  end;

  end;

  with dtbppal do
  begin
    try
       MensajeAdd(true,'3   Configurar Base de datos:');
    DatabaseName     := gl.DB.Alias ;
    MensajeAdd(true,'3.1 Asignando Controlador');
    DriverName:= 'STANDARD';
    MensajeAdd(true,'3.2 Carpeta de Base de Datos: '+ gl.DB.DatabaseDir );
   params.Add('PATH='+gl.DB.DatabaseDir );
   params.Add('DEFAULT DRIVER=PARADOX');
   params.Add('ENABLE BCD=FALSE');
      MensajeAdd ( true, '3.1 Asignado Alias a la Base de Datos. ');
   except
      on E:exception do HandleException('Error de BDE',E);
    end;

  end;   // dtbppal
    MensajeAdd(true,'4   Alias: '+ gl.DB.Alias );

try
  for i:=0 to pred(ComponentCount) do
     if (components[i] is TTable) then
        TTable(components[i]).DatabaseName:= gl.DB.Alias
     else
        if (components[i] is TQuery) then
          TQuery(components[i]).DatabaseName:=gl.DB.Alias;


    MensajeAdd(true,'4.1 Alias asignado' );

    Misession.Open;

    MensajeAdd(true,'5   Sesion Activa');

    dtbppal.Open;

    MensajeAdd(true,'6 **Conectado a Base de Datos**');
except
  on E:Exception do
    HandleException('No se ha podido Abrir la Base de Datos.',E);
end; // except
// saludos

Última edición por Lepe fecha: 11-01-2004 a las 20:18:14. Razón: jejeje
Responder Con Cita