Ver Mensaje Individual
  #2  
Antiguo 21-09-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Tengo esta información, creo recordar haber hecho alguna prueba y que funcionaba correctamente, ya nos dirás como te va.

Código Delphi [-]
utilice una funcion de la api de Windows que oi mencionar aqui en el foro, la cosa esta en iniciar
una conexion con la carpeta compartida psandole un nombre de usuario y una contraseña, en
Win9x no importa el nombre de usuario solo la contraseña de la carpeta, mientras que en Windows
Nt y 2000 tienes que pasarle un usuario valido y el password del usuario no de la carpeta. el codigo
es mas o menos asi
 
function TDModulo.ConectaRed: boolean;
var
   RecursoRed: _NETRESOURCE;
   Resultado: Word;
begin
   Resultado := NO_ERROR;
   Conectado := false;
 
   with RecursoRed do
   begin
      dwType := RESOURCETYPE_DISK;
      LpLocalName := nil;
      LpRemoteName := Pchar(DirServer);  // dirserver podria ser  "\\maquina\carpeta"
      LpProvider := nil;
   end;
 
   // --------------- nos conectamos al directorio ------------------
   Resultado := WNetAddConnection2(
      RecursoRed, // points to structure that specifies connection details
      PChar(Contrasenia), // points to password string
      PChar(Usuario), // points to user name string
      CONNECT_UPDATE_PROFILE // set of bit flags that specify connection options
      );
 
   // --------------------------------------- ya que te conectaste al directorio inicias la sesion de paradox
---------------------------------
   try
      if not Resultado in [NO_ERROR, ERROR_ALREADY_ASSIGNED] then
         raise EInvalidOperation.Create('');
 
      with Sesion do begin
         NetFileDir := DirServer + '\NET';
         PrivateDir := ObtenWindowsTemp;
      end;
 
      with DataBase do begin
         Params.Clear;
         Params.Add('PATH=' + DirServer);
         Params.Add('DEFAULT DRIVER=PARADOX');
         Params.Add('ENABLE BCD=FALSE');
         Connected := true;
      end;
      Conectado := true;
   except
      ShowMessage('No se ha podido establecer una sesion en red para el sistema' + #13 +
         'posiblemente el servidor no este funcionando en este momento o' + #13 +
         'existe un error en la configuracion, por favor verifique y vuelva a intentar.');
      Conectado := False;
   end;
   Result := Conectado;
end;
 
esto es obviamente al momento de crear tu Datamodulo (supongo que utilizaras uno) o en el
momento de abrir tu base de datos.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita