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

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 06-02-2019
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por DarthGomis Ver Mensaje
Si se necesita más información avisad y os la proporciono.
Hola.

De entrada no se ve el lugar donde le asignas a la variable Form2 la instancia de objeto creada con la expresión "TForm2.Create(self)". Por cierto, evita en todo lo posible el uso de With (se convirtió en mala práctica conforme creció la sintaxis de Object Pascal y la disponibilidad de recursos de biblioteca).

Si el formulario modal se muestra, quiere decir que en algún punto de tu código, probablemente en el evento OnCreate o algún otro de TForm2, estás realizando la asignación de la nueva instancia de formulario a la variable Form2. Y, por la misma lógica, es probable que al cierre del formulario tengas indicado que éste se destruya. De tal suerte que la sentencia "nameData := Form2.Edit1.Text;" genera la excepción que nos muestras.

Puede que Form2 siga apuntando al lugar de memoria que tenía la instancia, pero, por la destrucción, Edit1 se ha puesto en Nil (si no mal recuerdo, la liberación nativa de un derivado de TForm pone en blanco los campos componentes published). Eso explicaría porque la excepción AV es una lectura de la dirección de memoria 00000000, dado que la propiedad Text de la clase TEdit se lee mediante un método virtual; y, siempre que se va a realizar una llamada a un método virtual, Delphi necesita determinar la clase del objeto, cuyo identificador (puntero) se guarda en los primeros bytes de cada instancia. Ya que el objeto Edit1 es Nil, dichos bytes vendrían a ser, erróneamente, los primeros de la memoria RAM, los cuales son inaccesibles para las aplicaciones.

Todo lo anterior es una mera hipótesis, a falta de más información. Pero puede llevarnos a la respuesta de lo que está pasando de aquel lado de mi monitor y que sólo tú puedes ver y compartirnos. Así que te toca mover...

Al González.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al salir del preview. vpepen Impresión 11 15-03-2007 14:10:24
Error Formulario forma modal serhasae Varios 5 03-04-2006 23:52:00
Error al Salir de la Aplicación camelumi Varios 3 24-09-2004 16:12:25
Error al salir de una aplicacion el_enigma1 Conexión con bases de datos 0 05-09-2004 00:49:10
Error al salir cisterpe Varios 14 28-04-2004 19:20:04


La franja horaria es GMT +2. Ahora son las 14:32:02.


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