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); LpProvider := nil;
end;
Resultado := WNetAddConnection2(
RecursoRed, PChar(Contrasenia), PChar(Usuario), CONNECT_UPDATE_PROFILE );
---------------------------------
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.