![]() |
Saber que formulario invoca a otro
Hola buenas tardes, queria ver si alguien puede ayudarme con éste problema, estoy haciendo una aplicación en Delphi 7 y tengo 2 formularios que llaman a un tercero, pero dependiendo quien llama a éste tercero le pasarán diferentes valores, se que se tiene que hacer con Sender pero no me funciona, yo lo hacia con if sender=Form1. Gracias de antemano.
|
Si los formularios que llaman al otro son los que le pasan valores, ¿para qué necesitas distinguir quién lo llama? Que cada uno le pase los valores que requiera.
// Saludos |
Hola, yo lo que tenia puesto es que tanto Form1 como Form2 llaman por ejemplo a un Form3, y en esté Form3 al activarlo queria poner que si quien le llama es Form1 tome un valor y si es Form2 el valor que toma Form3 es otro diferente ¿como puedo decirle desde Form1 el valor que le paso ántes de mostrarlo?
|
Si Form3 lo creas al momento de llamarlo, una opción sería crearlo así:
Esto hará que el Owner del formulario sea el que lo creó y, por tanto, puedes examinar la propiedad Owner para saber si es Form1 o Form2. Sin embargo, ésta no es la técnica ideal. El formulario llamado (Form3) no debería depender de quién lo llama sino, en todo caso, de los valores iniciales que tenga. Lo que quiero decir, es que puedes poner alguna propiedad en Form3 que sirva para determinar qué hacer. Entonces, cada uno de los formularios que lo llaman (Form1, Form2 o cualquier otro) pondrá el valor adecuado en dicha propiedad y Form3 examinará tal valor al momento de mostrarse. // Saludos |
perdona pero no te he entendido muy bien, la verdad es que no llevo mucho con Delphi, yo desde form1 por ejemplo primero creo Form3 con create(self) y luego lo visualizo con ShowModal, entonces en Form3 tengo un edit que tiene que tomar el valor x si se lo pasa el Form1 y por ejemplo y si se lo pasa el form2 el valor y, entonces esta comparación la hago en el procedimiento on activate del Form3 y de esta forma el edit dependiendo de que formulario sea quien lo ha llamdo visualizará el valor x o y, de que otra forma puedo hacer esto, no he entendido muy buen lo de la propiedad que me comentas, ¿como pueden form1 y form2 poner el valor a esta propiedad?
|
Cita:
Ahora la llamado del Form2 Ahora para saber qué formulario lo invocó, sencillamente verificamos la propiedad "Tag" donde lo necesitemos, algo así: Saludos...:) |
Ahora os he entendido, muchas gracias voy a probarlo.
|
Cita:
Pero también puedes hacerlo de la otra forma que te ha indicado Roman. Saluditos |
| La franja horaria es GMT +2. Ahora son las 04:02:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi