Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como saber desde que Form hemos pulsado un boton? (https://www.clubdelphi.com/foros/showthread.php?t=54134)

Delphitest 10-03-2008 13:37:36

Como saber desde que Form hemos pulsado un boton?
 
Aprovecho el tirón para hacer mas consultas.

Trabajo con varios Form que tienen cosas en comun. Para ello me resulta interesante que desde ellos pueda llamar a un mismo Form (que llamo Buscador) y que me permita localizar en mi caso un proveedor.

Tengo creado este buscador y me funciona sin problema pero lo que no se como hacer es que tenga en cuenta el form desde donde fue llamado, de tal manera que si elijo un proveedor del DBgrid me lo lleve al form anterior.

He probado anidando varios If y usando Form.visible como condición pero no acabo de dar con ello para que funcione bien.

Mi pregunta es ¿como puedo indentificar el Form desde donde he pulsado el boton que llama al buscador una vez que estoy ya metido en este último?

Uff, no se si me he explicado bien.

Gracias de todos modos

yusnerqui 10-03-2008 14:05:02

Hola, y de que forma lo llamas, solo utilizas buscador , show o lo creas y destrulles en cada llamada??

Pues se me ocurren dos maneras, si lo haces de la primera forma puedes usar una variable Publica en el buscador que puede llamarse formactivo y que funciones como una bandera la cual debes actualizar antes de llamar al buscador.

La segunda forma es sobrecargando el método create del buscador, y agrgarle un parámetro que sea el form desde el que se llamó.

Bueno en fin son ideas, espero que alguna te sirva.

Saludos

Caro 10-03-2008 14:46:30

Hola Delphitest

Lo que se me ocurre para saber de donde es que se ingresado a tu formulario Buscador. Cuando crees dicho formulario le asignes como propietario al formulario de donde lo estas llamando ejemplo:

Cuando llamas a tu formulario Buscador desde cualquiera de tus formularios.
Código Delphi [-]
 Buscador := TBuscador.Create(Self);
 Buscador.ShowModal;

Dentro de tu formulario buscador puedes hacer esta pruebita.
Código Delphi [-]
procedure TBuscador.Button1Click(Sender: TObject);
begin
 showmessage(TForm(Buscador.Owner).Name);
end;

Saluditos

Lepe 10-03-2008 15:06:24

pequeña puntualización:

Código Delphi [-]
procedure TBuscador.Button1Click(Sender: TObject);
begin
 showmessage(TForm(Self.Owner).Name);
end;

Saludos

Delphitest 10-03-2008 18:47:04

Lo habeis clavado, muchas gracias por vuestra ayuda, funciona a la perfección.


La franja horaria es GMT +2. Ahora son las 16:08:31.

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