Los errores SIGSEGV se producen porque se intenta acceder a memoria fuera del marco de memoria de la aplicación. Normalmente se debe a que se olvidó crear algún objeto o se destruyó algún objeto y luego se intentó usar. La única forma de descubrir lo que falla es saber en qué punto se produce el error.
Por otro lado, ¿por qué creas y destruyes el objeto INI cada vez que accedes a una variable? Eso es una merma de rendimiento enorme. Lo mejor es que cargues el archivo INI al principio de ObtenerDatosConnDB, obtengas todos los valores, y destruyas el objeto antes del IF.
De todas formas, ¿te compila? Porque estás usando cadenas de caracteres en lugares donde se esperan expresiones booleanas. A mi nunca me deja compilar cosas así (Free Pascal).
|