Estoy hecho un verdadero lío y sé que esto es básico, pero no me aclaro. Tengo este código:
try
Código:
{
char cEntornoAnt[256] = "\0";
TIniFile *fIni = new TIniFile(cEntornoAnt);
GetPrivateProfileString("DATOS", "Entorno", "C:\\DatAfi21\\Gia.ini", cEntornoAnt, sizeof(cEntornoAnt), cInicio.c_str());
if (!FileExists(cEntornoAnt))
throw Exception("No se encuentra el fichero de configuracion antiguo.\nAvise al programador.");
[Resto del código]
}
catch(Exception &exception)
{
ShowMessage(exception.Message);
}
__finally
{
delete cEntornoAnt;
delete fIni;
}
Si lo pongo así al compilar me da un error
E2188 Expression syntax en la declaración __finally.
Si anido otro try:
Código:
try
{
char cEntornoAnt[256] = "\0";
TIniFile *fIni = new TIniFile(cEntornoAnt);
try
{
GetPrivateProfileString("DATOS", "Entorno", "C:\\DatAfi21\\Gia.ini", cEntornoAnt, sizeof(cEntornoAnt), cInicio.c_str());
if (!FileExists(cEntornoAnt))
throw Exception("No se encuentra el fichero de configuracion antiguo.\nAvise al programador.");
[Resto del código]
}
catch(Exception &exception)
{
ShowMessage(exception.Message);
}
}
__finally
{
delete cEntornoAnt;
delete fIni;
}
Entonces el compilador me da dos errores
E2451 Undefined symbol 'identifier' en los dos deletes del final. ¿Qué estoy haciendo mal?