Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Redes (https://www.clubdelphi.com/foros/forumdisplay.php?f=37)
-   -   Problemas con una red en W7 (https://www.clubdelphi.com/foros/showthread.php?t=85815)

Angel.Matilla 09-05-2014 18:15:04

Problemas con una red en W7
 
Tengo una aplicación desarrollada hace años en BCB 5 Profesional y ejecutándose sin problema en red contra tablas Paradox desde Windows XP. No he tenido tiempo de migrarla a una versión superior de Builder y ahora me ha surgido un problema: El usuario de la misma ha adquirido máquinas nuevas con Windows 7 32 bits (¡loado sea el vendedor!) y ahora no logro que se conecte la aplicación desde esa máquina nueva al servidor de la base de datos. En local funciona sin problemas, pero no sé si me falta alguna librería para poder conectarme en red desde W7.

oscarac 10-05-2014 02:29:43

y como es que te conectas a las otras computadoras?
mapeas unidades?

Angel.Matilla 10-05-2014 10:12:22

Perdón por el olvido. Me conecto a la base de datos mediante un TDatabase y un Tsession; las propiedades del srevidor están guardadas en un fichero ini. El código que uso es este:
Código:

char cEntorno[128], cTablas[128], cAcceso[128];

memset(cEntorno, '\0', sizeof(cEntorno));
memset(cAcceso , '\0', sizeof(cAcceso));
memset(cTablas , '\0', sizeof(cTablas));

GetPrivateProfileString("DATOS", "Entorno", "C:\\DatAfi21\\Gia.ini", cEntorno, sizeof(cEntorno), (ExtractFilePath(Application->ExeName) + "PtoDat21.ini").c_str());
GetPrivateProfileString("DATOS", "Acceso" , "C:\\DatAfi21\\Acceso" , cAcceso , sizeof(cAcceso) , (ExtractFilePath(Application->ExeName) + "PtoDat21.ini").c_str());
GetPrivateProfileString("DATOS", "Tablas" , "C:\\DatAfi21\\Tablas" , cTablas , sizeof(cTablas) , (ExtractFilePath(Application->ExeName) + "PtoDat21.ini").c_str());
try
{
    fPersonas->Session1->PrivateDir = ExtractFilePath(Application->ExeName);
    fPersonas->Session1->ConfigMode = cmSession;
    fPersonas->Session1->NetFileDir = cAcceso;
}
catch(...)
{
    Application->Terminate();
    return;
}

try
{
    fPersonas->Session1->AddStandardAlias("dGesAfi21", cTablas, "PARADOX");
}
catch(...)
{
}

// *************************************************************************
// * Se activan la sesión, la base de datos y las tablas que correspondan. *
// *************************************************************************

fPersonas->Session1->Active    = true;
fPersonas->Database1->Connected = true;
fPersonas->Session1->OpenDatabase(fPersonas->Database1->DatabaseName);


Casimiro Notevi 10-05-2014 11:18:59

¿No hay mensaje de error ni nada?

Angel.Matilla 10-05-2014 12:14:25

Simplemente que no se puede conectar al servidor, pero es un mensaje generado por mi en el try...catch en que están las tres líneas de propiedades de Session1. Es que hay algunos problemas añadidos: No puedo depurar el programa, que sería lo lógico, porque no voy a montar todo Builder 5 más los fuentes en el equipo del cliente. Por otra parte yo no puedo hacer la depuración en casa porque no tengo una red.

marcoszorrilla 10-05-2014 13:17:09

Si usas el BDE, en la máquina nueva instálalo en una carpeta que no cuelgue de Archivos de programa yo lo instalaría en una carpeta creada dentro de la de mi aplicación;

C:MiAplicacion\BDE

Suerte.

Un Saludo.

Angel.Matilla 12-05-2014 11:01:25

Probaré esta última sugerencia.

Angel.Matilla 13-05-2014 11:54:58

Creo que ya sé cual es el problema. Se trata, simplemente, de un problema de privilegios de usuario porque lanzando la aplicación en una máquina con usuario administrador se ejecuta sin ningún problema, y esto tiene que resolverlo quien ha instalado los nuevos equipos. Gracias a todos por las ideas aportadas.


La franja horaria es GMT +2. Ahora son las 21:44:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi