FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
MDIChild (Access Violation), enviar valores entre formularios hijos.
Hola a todos, luego de estar por algún tiempo navegando entre post y post dentro del foro decidí abrir uno nuevo. Agradezco su tiempo.
Tengo 3 formularios:
Necesito enviar un valor del 3.frm_search -> 2.frm_pos.
Hice pruebas, si los formularios hijos los tengo autocreados, no hay problemas puedo enviar variables entre ellos. He leído en unos posts del foro que algunos solucionaron así su problema, los ocultaron y luego de acuerdo a sus necesidades los fueron mostrando.
El problema es cuando creo dinamicamente los formularios hijos, recibo un error: Access Violation
Un post en el foro explica sobre los formularios modales y su función. Un formulario no debe de escribir directamente a ningun otro formulario. debe de pedir el valor y al cerrarse debe devolver ese valor al formulario que lo solicito. No se como implementarlo. Estaría agradecido si puedieran compartirme un link y/o documentación para poder estudiar más sobre este tema. Se me ocurre muchos motivos que llevan a mi error; cuando creo un formulario en tiempo de ejecución estoy creando una instancia y cuando quiero enviar el valor al formulario no estoy apuntando correctamente por lo que recibo el error <<Access Violation>> Gracias. |
#2
|
||||
|
||||
Lo más sencillo, creo, es que hagas un pequeño ejemplo donde se reproduzca el error y lo subas, si no es difícil saber en qué punto es el error y cómo solucionarlo.
No creo que sea complicado y seguramente estás accediendo a una variable que no tiene valor o a un objeto que ya has destruído. También puedes ejecutar el programa paso a paso para detectar en qué punto se produce.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
¡Hola, Erikrocha!
Como dice Neftalí con algo mas de código puede que sea mas claro lo que expones. Aún así de lo que nos haz compartido entiendo que el error se presenta al llamar a la instancia global frm_pos desde una instancia local de Tfrm_search, como lo muestras en este código:
Acá la pregunta es. ¿Está disponible frm_pos al momento del llamado en Tfrm_search.button1? Es posible que no! Es probable que lo hayas liberado o que tengas en memoria otra instancia de ese formulario. Ahí es donde debemos ver tu código para ayudarte mejor. Si solo manejas una única instancia de TFrm_pos, entonces puedes validar que exista antes de usarla o mostrar el formulario de búsqueda. y así no tendrías el error del access violation.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#4
|
||||
|
||||
Cuando se crean dinámicamente, desconoces los punteros a las ventanas MDIChildren. Es por eso que falla, entonces la estrategia debe ser recorrerlas para encontrar la que te interesa.
Mira a ver si estas pinceladas te dan una idea:
Saludos. |
#5
|
|||
|
|||
Hola Neftali, movorack y escafandra. Gracias por sus respuestas. Tienen razón, entonces aquí les muestro todo el código y también les adjunto los archivos, si lo ejecutan verán el error. Una vez más gracias por su tiempo.
main (MDIForm)
pos (MDIchild)
search (MDIchild)
|
#6
|
||||
|
||||
Tal como te proponía y para tu caso en particular:
Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Formularios Violation Access | asdbernardo | Varios | 12 | 26-09-2011 04:36:03 |
Cerrar Formularios hijos independientemente | morfeo21 | Varios | 2 | 29-05-2008 20:27:44 |
problema traspaso de datos entre formularios hijos | VRO | OOP | 6 | 30-03-2005 13:35:53 |
Controlas formularios MDIChild | Tecnic2 | OOP | 2 | 01-10-2004 19:38:05 |
Valores entre formularios mdi | ctronx | Varios | 5 | 16-06-2004 22:19:01 |
|