PDA

Ver la Versión Completa : Error access violation al ejecutar en otro pc


drykea
29-08-2013, 15:23:47
Hola a todos.

En primer lugar, gracias por vuestra ayuda adelantada.
He hecho una aplicacion que funciona perfectamente en mi pc, pero al ejecutarla en cualquier otro pc me da error de Access Violation nada mas lanzarla y no se llega a ejecutar nada, ni siquiera se muestra el primer form.

He puesto un log, que se registra en un archivo cada paso de mi programa, y ni siquiera se genera el archivo de log. Tengo que decir que en el OnCreate del form principal, lo primero que tengo puesto es que se cree ese archivo, y ni eso hace.:(

¿Alguien sabe que puede pasar?

nlsgarcia
29-08-2013, 15:58:36
drykea,


...una aplicacion que funciona perfectamente en mi pc, pero al ejecutarla en cualquier otro pc me da error de Access Violation...


Pregunto:

1- ¿En que versión de Delphi se creo la aplicación?.

2- ¿El ejecutable de la aplicación es de 32 o 64 bits?.

3- ¿En que versión de Windows se creo y se ejecuta la aplicación?, ¿El Windows donde se ejecuta es x32 o x64?.

4- ¿Usas componentes de terceros?, ¿Cuales de ser el caso?.

5- ¿La aplicación usas DLLs?, ¿Utiliza APIs del Sistema?, ¿Emplea apuntadores?.

6- ¿La aplicación usa BD?, ¿Que motor de acceso emplea?.

7- ¿Si desactivas el Antivirus funciona la aplicación?.

8- ¿Puedes publicar la imagen del error?.

9- ¿Haz considerado instalar Delphi en el equipo donde se produce la falla y hacer un Debug de la aplicación?

Espero sea útil :)

Nelson.

adrall
29-08-2013, 18:23:52
No serà que el programa intenta arrancar algo que no esta instalado en ese PC, por ejemplo un motor de BBDD... podria ser que al crear el DataModule, antes del Form principal, si es el caso, haga una llamada a algo que no existe en ese PC.

Si tienes varios TForm, vigila como se crean en \Project\Options\Forms, ya que si los tienes en Auto-Create, cualquiera de ellos puede hacer esa llamada al inicio.

Saludos

drykea
30-08-2013, 11:14:34
Hola, tenéis toda la razón doy pocos datos :p

A ver si así está mejor:
- Utilizo Delphi2007 en Windows 7 de 42 bits.

- La aplicacion tiene dos formularios, el principal y otro que no esta puesto como 'auto-create'

- Utilizo los componentes Zeos para conectar a una base de datos mysql que está en un servidor. Lo hice con Zeos porque tengo entendido que no hace falta instalar el mysql en el pc cliente. Normalmente trabajo con ADO, pero aquí si que hay que instalar mysql y eso era lo que quería evitar en este caso.

- En cuanto a lo de instalar delphi en otro pc y depurarlo, ya lo he hecho. En modo depuración FUNCIONA, no da error. Cuando cierro el delphi y lanzo directamente el ejecutable ZASSS!!!! a fallar. :confused:

Adjunto captura del error.

Gracias por todo.

nlsgarcia
30-08-2013, 20:42:01
drykea,


...En cuanto a lo de instalar delphi en otro pc y depurarlo, ya lo he hecho. En modo depuración FUNCIONA, no da error...


Te comento: Si creastes el ambiente de desarrollo en uno de los PC en cuestión y desde Delphi la aplicación funciono correctamente pero al ejecutarse directamente desde el SO esta falla, pregunto: ¿Cuales son las diferencias entre el PC original donde se desarrollo y donde falla?.

Te sugiero:

1- Iniciar Windows en Modo Safe, Modo Diagnostico y Modo Selectivo (Todo por medio de msconfig) y hacer pruebas en cada uno de los modos para determinar posibles conflictos a nivel de Drivers, Programas y Servicios con tu Aplicación en el PC en cuestión.

2- ¿Probastes desactivar el Antivirus en el PC para ver el comportamiento de la aplicación?.

3- En el PC en cuestión haz un programa básico en Delphi que se conecte a la BD en MySQL con los componentes ZEOS y cargue una tabla en un componente TDBGrid, ¿Funciona correctamente desde el SO?.

4- ¿Haz probado comentar partes del código para ejecutar la aplicación y ver su comportamiento en relación al error presentado?.

5- ¿Tienes otra aplicación que use los componentes Zeos con MySQL y funcione correctamente en el PC donde se produce la falla?.

Espero sea útil :)

Nelson.