Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Como llamo a esta variable¿ (https://www.clubdelphi.com/foros/showthread.php?t=8321)

chele 17-03-2004 18:54:33

¿Como llamo a esta variable¿
 
Buenas, tengo que poder ejecutar esta funcion :

procedure TBuscarComp.Cerrarform(Sender: TObject; var Action: TCloseAction);
begin

// aqui iria mi funcion.

end;

Mi problema es que no se que "objeto" es el sender, en si tengo que enviarle el valor del form o similar, para que en el momento de pulsar el boton me ejecute un codigo y despues me cierre el form, pero no he podido hacerlo.

¿Como se cual es el valor de sender?.
¿Como podria llamar a esta variable?.

Sorry soy un poco novato, ya medio me defiendo pero hay cosas que me quedo bloqueado como esto.:mad:

Un saludo a todos y gracias anticipadas.

roman 17-03-2004 19:05:10

Normalmente Sender será el objeto que generó el evento. En este caso (FormClose) será el mismo formulario.

Pero no entiendo bien si lo que deseas saber es qué hacer con Sender desde tu procediemiento CerrarForm o bien cómo llamar a ese procedimiento.

De forma general te adelanto que llamar directamente eventos no es una buena práctica de programación. Lo más adecuado es que un evento se limte a llamar a algún método que sea el que haga el trabajo 'pesado' de manera que tal trabajo quede independiente de la interfaz de usuario.

// Saludos

chele 18-03-2004 10:11:40

Creo uqe no me explique muy bien XD

A ver te cuento el caso que lo mismo lo estoy haciendo mal.

Yo tengo un boton que abro una ventana donde hago una eleccion y segun los datos elegidos en esa ventana me actualiza la otra, para abrir la ventana uso este codigo :

Buscardatoscompania := TBuscarcomp.create(Self);
Buscardatoscompania.formstyle := fsNormal;
Buscardatoscompania.Visible := false;
Buscardatoscompania.Position := poScreenCenter;
Buscardatoscompania.ShowModal;
Buscardatoscompania.free;

Aqui eligo el codigo de la compañia y entonces en la otra me actualiza, esto funciona bien el problema es que para cerrar la ventana tengo qeu darle a la X y a mi me gustaria que fuese al pulsar dos veces en el grid o dandole a un boton o similar.

¿Alguna idea?.

Venga gracias XD

Lepe 18-03-2004 12:02:29

en la ventana mostrada con Show modal, pon un boton y su codigo seria

en un boton de aceptar:
BuscarDatoscompania.modalresult := mrOk; // interpretas que se aceptan los cambios

en un boton de Cancelar cambios:
BuscarDatoscompania.modalresult := mrCancel; // interpretas que no se aceptan los cambios

Saludos

chele 18-03-2004 12:10:58

MUUUCHAS GRACIAS.

Funciona de escandalo.

Gracias.

roman 18-03-2004 16:12:02

De hecho ni siquiera tienes que colocar ningún código. Los botones tienen una propiedad, ModalResult cuyo valor será el valor de la propiedad correspondiente del formulario sin necesidad de escribir el evento OnClick.

// Saludos


La franja horaria es GMT +2. Ahora son las 05:40:02.

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