FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema al Pasar valores entre MDI Childs
Hola, tengo dos formularios MDIChild abiertos, en uno, escribo un dato, y en el evento y antes de cerrar me gustaria pasarle ese valor al otro form. Pero cuando lo intento me tira error. (ambas units estan declaradas como uses dentro del implementation)
Pongo un ejemplo:
Como podria hacer para pasarle un dato? Saludos
__________________
|
#2
|
|||
|
|||
Que error te "tira"? Cual es el texto del error?
Saludos... |
#3
|
||||
|
||||
Cita:
Access violation at address 004FE904 in module "Project1.exe". Read of address 00000358 Saludos
__________________
|
#4
|
|||
|
|||
Checa este hilo: http://www.clubdelphi.com/foros/showthread.php?t=44375
Ahí se da una posible solución a tu problema... Saludos... Última edición por maeyanes fecha: 05-06-2007 a las 23:07:15. |
#5
|
||||
|
||||
Cita:
Y me pasa solo con estos 2 forms MDIChild, porque con los normales no tengo problema alguno. Saludos.
__________________
|
#6
|
|||
|
|||
Aquí te pongo otro hilo donde se trató el tema:
http://www.clubdelphi.com/foros/showthread.php?t=28405 Saludos... |
#7
|
||||
|
||||
Resulta que despues de todo, no me funciona, me sigue saliendo el mismo error.
Yo tengo los dos forms creados y abiertos. Lo que necesito, es pasar un dato que esta en un DBGrid de uno de los formularios a un ComboBox del otro formulario. EL formulario que se crea primero, es el que contiene el ComboBox, y es en donde defino lo siguiente:
El el otro form, que se crea luego (desde Altas), hago lo siguiente:
Y me sigue tirando el mismo error, incluso si leo la propiedad desde Altas (donde esta definida) me aparece vacia. Que estoy haciendo mal? me tiene todo parado esto. Saludos y Gracias
__________________
Última edición por MaMu fecha: 06-06-2007 a las 04:19:49. |
#8
|
||||
|
||||
Todo lo que pruebo, me tira el mismo error. Al parecer, con los MDIChild, al ultimo form que se apunta es el ultimo creado, y al salir de este, todo se destruye, a excepcion de haber salvado un dato en una propiedad publica del formulario principal. Que raro que los MDIChil funcionen asi. No se cual sera la solucion que necesito.
Saludos.
__________________
|
#9
|
||||
|
||||
Saludos
Cita:
Cita:
Lo tiros andan por ahí o estoy perdido?
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#10
|
||||
|
||||
Cita:
Saludos
__________________
|
#11
|
||||
|
||||
Yo no lo probe pero se me ocurre ahora:
Por que no pones una clase que pertenezca al MDI que la creas al iniciar la aplicacion, a la que puedan acceder estos 2 forms, y vas actualizando las variables en esta clase, y luego en los eventos OnActivate de los forms lees estas variables y haces las actualizaciones que correspondan en dichos forms. Es una idea, no estoy seguro que pueda funcionar bien del todo. Saludos
__________________
"Nunca en la historia de las guerras, tuvieron aviadores que afrontar una conjunción tan terrorífica de obstáculos mortales, ni aún los de la RAF sobre Londres en 1940 o los de la LUFTWAFFE en 1945." |
#12
|
||||
|
||||
Monchi, si, no es una mala idea ni mucho menos descabellada. Creando una clase en el MDIForm y que los MDIChild accedan a ella, y luego al notar un cambio, se actualicen donde deba, funciona, pero son tantos los datos que tengo que pasar, que se hace extremadamente engorroso. Intento buscar una forma mas sencilla.
Saludos
__________________
|
#13
|
||||
|
||||
Cita:
Hay está lo que hice!
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#14
|
||||
|
||||
vtdeleon gracias por tomarte la molestia. Funciona perfecto lo que me mandaste, pero... es indistinto que MDIChild puede pasar un dato si estan creadas las dos?, en mi caso, abriria Form2, y desde Form2 abriria Form3, al cerrar Form3, le pasaria un dato a Form2. Cuando digo abriria, me refiero a crearia.
Saludos
__________________
|
#15
|
||||
|
||||
Debes revisar conceptualmente la comunicación entre las ventanas MDICHILD.
La única forma de que consigas lo que buscas es mostrando las ventanas modalmente, pero una ventana mdichild no puede mostrarse de forma modal. Son dos esquemas de funcionamiento distinto. En entornos MDI, una ventana se destruye de memoria cuando se cierra, aunque el comportamiento por defecto en delphi es minimizarse... tú decides. Se supone que en un entorno MDI, puedes cambiar de una ventana a otra con un clic, así que, supongamos que el usuario hace lo siguiente: - Abre el form2 - Abre el form3 - CIERRA el form2 - Cierra el form3 Si al cerrar las mdichild se minimizan, no tendrás problemas, pero si las destruyes, obtendrás un Access violation porque Form3 estará intentando acceder a Form2, pero esa ventana ya no existe en memoria. Existen métodos para que al cerrar una ventana, se notifique a otra de ese evento, si te interesa, busca en el foro por "FreeNotification" Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#16
|
||||
|
||||
Cita:
Saludos
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#17
|
||||
|
||||
Cita:
yo hacia
Y lo cambie por
Y lo solucioné. Saludos y gracias a los dos.
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta entre valores | rruffino | Conexión con bases de datos | 1 | 11-05-2007 03:25:34 |
pasar de un array de valores a bitmap | i.larranaga | C++ Builder | 3 | 20-04-2007 05:01:04 |
Problema al pasar datos entre 2 formas | maguib | Varios | 6 | 10-03-2005 20:19:33 |
Problema con JBuilder(pasar datos entre ventanas) | fgabriel | JAVA | 0 | 17-02-2005 16:23:55 |
Valores entre formularios mdi | ctronx | Varios | 5 | 16-06-2004 22:19:01 |
|