FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
Formularios
Hola a Todos
Quisiera saber de que formulario se ha hecho un showModal a otro formulario, digamos que tenemos Form1, Form2, Form3 y de los 3 llamo a Form4, lo quiero saber en Form4 es de donde ha sido la llamada si de Form1, Form2 o Form3, lo unico que se me ocurre es tener una variable en Form4 y segun al que haga la llamada se actualice esa variable. Existe alguna otra forma de hacerlo? Muchisimas gracias por adelantado y que tengan un bonito dia
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#2
|
||||
|
||||
Antes del ShowModal, creas el formulario en el Form 'llamante' ??
Si es así, puedes utilizar la propiedad Owner del Form4 para saber quien lo creó, y por tanto, quien lo llamó. Si no es así, entonces, a mi entender, tienes que utilizar alguna propiedad o variable del Form4 para indicar quien lo llama.
__________________
Piensa siempre en positivo ! |
#3
|
||||
|
||||
Ejemplo desde los llamantes:
Ejemplo del LLamado:
Saludos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#4
|
||||
|
||||
Dependiendo de la lógica podrías hacer que el owner sea el form de donde se ha mostrado en formulario en cuestion, creándolo justo antes de mostrarlo.
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#5
|
||||
|
||||
Hola,
A mí lo primero que se me viene a la cabeza es declarar un método en los formularios que van a ser mostrados "modalmente". Tal que así:
Con el método se matarían dos pajáros de un tiro, como se ve: se asigna a cierta variable privada una referencia al formulario que llama al método, y se ofrece como resultado de este el resultado del método "ShowModal" original. Queda de tu cuenta añadir una propiedad pública al formulario, si es que lo ves menester. En todo caso... tal vez no sea muy "elegante" esto que propongo... a ver si alguien se anima con otras soluciones. Edito: Iba a borrar mi mensaje, porque lo que dicen los compañeros (y que no se me había ocurrido) me parece mucho más digno e interesante. Pero, total, que se vea mi ignorancia, y además, tal vez pueda servir de algo lo que he dicho... Última edición por dec fecha: 08-08-2007 a las 15:22:20. |
#6
|
||||
|
||||
Miles de gracias por responder gluglu, delphi.com.ar, ArdiIIa, dec.
He estado viendo sobre Owner en este momento porque no lo habia manejado, funciona como quiero pero al final cuando cierro mi formulario principal me sale un error Para mi ejemplito, antes de hacer el showmodal le digo que form2 sera el propietario de form4 y lo mismo hago para form3
y cuando quiero ver quien es el propietario lo hago asi
todo bien, me sale de donde viene la llamada, pero como decia antes cuando cierro el form1 que es el principal me sale 'Exception EAccessViolation in module Project1.exe at 00000000. Access violation at address 000000. Read of address 000000' que estoy haciendo mal, me podrian ayudar por favor.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#7
|
||||
|
||||
Cita:
No se... es la primera vez que veo un InsertComponent para visualizar un formulario. ¿Probaste el código que te puse antes?
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#8
|
||||
|
||||
Hola ArdiIIa, no lo habia probado tu ejemplo lo siento, queria resolverlo con la propiedad Owner, pero creo que no lo he entendido bien, ahora si probe tu ejemplo me funciona muchisimas gracias, lo hare de esa forma.
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. Última edición por Caro fecha: 08-08-2007 a las 16:14:47. |
#9
|
||||
|
||||
Yo lo veo más fácil todavía ...
En tu form 'llamante' lo que tienes es que simplemente crear y mostrar modalmente el Form4 así :
Y donde lo necesites en el Form4, preguntas por el Form4.Owner.
__________________
Piensa siempre en positivo ! |
#10
|
||||
|
||||
Hola cuando creo mi formulario, lo hago de esta forma
de esta no lo habia hecho, al hacerlo asi me sale otro AccessViolation Si me podrias explicar un poquito mas sobre Owner te estaria muy agradecida, espero no estar molestando mucho, pero no me queda claro lo del Owner. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Formularios MDI | CoCaInE | OOP | 6 | 25-12-2006 13:25:34 |
Formularios | Caro | Varios | 5 | 14-07-2005 14:51:30 |
Formularios MDI | mierteran | Varios | 1 | 03-12-2004 11:28:35 |
formularios | seduerey | API de Windows | 0 | 05-07-2004 20:34:26 |
formularios mdi | tango01 | OOP | 22 | 19-11-2003 16:27:34 |
|