Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2005
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Question Error rarísimo en Delphi 7

Saludos a todos, soy medio nuevo en el tema, y tengo un problema con un error que espero no sea de Delphi. Tengo una ventana MDIForm, abre una MDIChild y ésta llama a otra MDIChild. En esta última inserté:

3 Panel
10 Label
1 MaskEdit
4 Edit
2 ComboBox
2 Bit Button
1 Memo.

La aplicación corre, y abro las dos ventanas. AL CERRAR esta última, sale un error que dice algo como

...exception class EAccessViolation with message 'Access violation at address 004767BA in module ....exe. Read of address 0125C22B....

Le saco UN componente como un ComboBox...¡¡y anda sin problemas!!. Obviamente, necesito ese ComboBox... No puedo creer que se agote la memoria o algo parecido, solamente corro como aplicación a Delphi, más algunos residentes "normales", y tengo 256 de RAM.

¿¿¿Qué estoy haciendo mal??? Quiero aprender . Gracias...
Responder Con Cita
  #2  
Antiguo 28-04-2005
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Angry Para mejorar el enigma

Luego de escribir lo anterior, se me ocurrió llevar el .exe que daba el error en mi máquina a otra PC. Allí, desde luego, funciona a la perfección ¿¿¿??? El error se produce luego de hacer el

Form3.Free;

Si pongo un showmessage() antes y después de esa línea, ambos se ejecutan sin problemas. Al aceptar el segundo showmessage... ¡pum!, como si buscara algo en la memoria que ya no está más. ¿Qué puede ser?. La ventana se creó al momento de llamarla, y se la activó con Form3.Show, por lo que la rutina del Form2 se ejecutó completa, no quedó esperando como si hubiera hecho un Form3.ShowModal. O sea, Form2 no ejecuta nada (al menos desde mi código) luego de destruírse Form3..., salvo ponerse al frente.

El punto es ese: al cerrarse dá un error, que no se produce si saco UNO CUALQUIERA de los componentes que tiene dentro el Form. Además, la misma versión exe que dá error en mi PC, en otra no lo dá...

Un misterio, al menos para mí...
Responder Con Cita
  #3  
Antiguo 28-04-2005
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Al cerrar el form principal de cualquier programa en delphi, el sistema considera que la aplicacion debe finalizarse, de modo que el propio delphi se encarga de destruir todos los forms, y todos los objetos que haya dentro de los forms.

Seguramente cuando intentas destruir alguno de los forms o algun otro objeto manualmente, ese form u objeto ya haya sido previamente destruido por el propio delphi. De ahi que de el error, al intentar destruir algo que ya no existe.

Ahora si, sin ver el codigo fuente no se puede saber exactamente en que punto exacto esta el error. Pero seguro que es un problema de este tipo ya que errores de ese tipo son bastante comunes.

Saludos
Responder Con Cita
  #4  
Antiguo 29-04-2005
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Thumbs up Gracias, Mick

Gracias por contestar, pero nunca intenté cerrar la ventana de la aplicación. El error se producía al cerrar el último MDIChild abierto. Finalmente, lo resolví de otra manera, ya que en el primer form que abría había un componente tipo DataSet que bajé de la Web (Mediator) para un caso especial (controlador de archivos .ntx, ya que la aplicación debe conectar con una parte de otra aplicación realizada en Clipper ). Parece que tal controlador no es gran cosa , porque tiene algunos bugs por ahí, si bien me están ayudando mucho. Quité los componentes del primer form, creé un DataModule (no es mi costumbre usarlo ) y puse todo lo que necesitaba ahí adentro. Santo remedio.

Gracias por la información de que Delphi limpia toda la memoria que usó en la aplicación, me quedaba la duda acerca de ese punto .
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:14:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi