![]() |
Problema ejecutable Delphi 2009 DBExpress Windows XP
Buenas Tardes a todos,
verán tengo un problema con un ejecutable que tengo compilado en Delphi 2009 que a mi modo de ver parece que tiene que ver con una dll que me hace falta distribuir en el cliente La aplicación se ejecuta correctamente en Windows 7 y Server 2008, pero en Windows XP y Windows Server 2003 no abre. Internamente la aplicación usa una conexión con DBExpress cuando el motor que usan en las instalaciones de los clientes es ORACLE por lo cual adjunté la DLL dbxora.dll por ser el driver de dicho motor, y como lo mencioné antes, en Windows 7 abre perfectamente, pero en windows xp genera una excepción de memoria, he buscado algo al respecto por ahí en la red pero nada no encuentro. El error aparece al dar doble click sobre la aplicación. Espero puedan ayudarme Gracias |
Asumiendo que pueda ser una DLL, se me ocurre ahora Midas.dll, que es necesaria cuando no utilizas la unidad MidasLib... esto si estas utilizando ClientsDatasets y Providers en tu aplicación...
Creo que nos falta mas información para poder ayudarte... un saludo, |
gracias gatosoft por tu respuesta, en realidad si dejé el post muy abierto, pero bueno ya monté una maquina virtual con windows XP y monté todo lo necesario,
entonces haciendo seguimiento al código encontré que el error se genera en la siguiente unidad de Indy10 IdCharsets.pas en la siguiente linea
al hacer el for muere así que actualicé la versión de Indy10 a la versión 4850 que es la que se encuentra en la página del proyecto, pero el error ahora aparece en una nueva unidad IdHeaderCoderBase.pas en la siguiente linea
dicho objeto está declarado de la siguiente manera dentro de dicha unidad
realmente aquí quedé estancando, no sé que hacer, sigue generando la misma excepción de memoria espero me puedan ayudar, les agradezco de antemano |
Podría ayudar ver cuál es el mensaje exacto de la excepción. Cuando aparezca dale Ctrl+C (eso lo copiará al portapapeles).
Saludos. |
hola muchas gracias, lo siento no poder estar al tanto del post, pero bueno aquí dejo un pantallazo y el error que está saliendo exactamente
Cita:
![]() |
"Read of address 00000..." indica que se está intentando leer el contenido de una ubicación de memoria cercana a 0, señal de que probablemente se tenga por ahí un objeto Nil (0), una variable sin inicializar.
El depurador te señala la línea que muestras, pero es realmente un código más interno el que está causando el error. Para intentar ver cuál es ese código haz lo siguiente: Paso 1. Marcar la opción "Use Debug DCUs" en las opciones del proyecto (en las versiones más recientes de Delphi tal opción está un poco escondida, pero sí que viene). Paso 2. Compilar con la opción "Build" para que reconstruya el ejecutable considerando esa opción. Paso 3. Ejecutar y repetir el escenario del error; cuando éste ocurra, el depurador te indicará un punto más cercano al error, si no es que el "mero mero". Como algo adicional, considera que la parte del mensaje que dice "Access violation at address 00401CAD in module KMenu125.exe" te está diciendo en qué lugar se produjo el error. Usando la opción de menú Find Error puedes pedirle al depurador que te localice la unidad y línea de código que corresponde a la dirección 00401CAD, incluso antes de que el error ocurra (siempre que el programa esté en ejecución). Saludos. Al González. |
Gracias Al Gonzalez, te comento que voy a revisar tus observaciones, el tema resulta que la aplicación no se alcanza a ejecutar, es decir, encontré el error iniciando la depuración con F8 e iterando con F7, hasta que llegué a esa línea de código.
Seguiré tus instrucciones y cuando tenga el resultado te comentaré que hallé. Gracias |
hola, Al Gonzalez hice lo que me indicaste y ahora el error sale, luego de la linea anterior sale en esta línea
![]() Gracias |
lo que aun me sigue pareciendo muy extraño es porque en Windows 7 funciona perfectamente, alguna sugerencia?
|
La franja horaria es GMT +2. Ahora son las 13:16:49. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi