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);