• Viernes 3 de Mayo de 2024, 00:50

Autor Tema:  Llamar A Un Manejador De Eventos Desde El Código  (Leído 1603 veces)

angie1919

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Llamar A Un Manejador De Eventos Desde El Código
« en: Miércoles 2 de Junio de 2004, 15:17 »
0
Hola a todos! necesito saber si es posible llamar a un manejador de eventos desde el código, en cualquier momento. Supongo q lo sabréis, pero para ser más clara, cuando hablo de manejador de eventos me refiero, por ejemplo, a : Button1Click() o Table1FilterRecord() ,etc.
 
En mi caso, lo quiero hacer, para poder pasar un filtro a una tabla, cada vez que aprieto un botón, y ahora mismo solo se hace cuando ejecuto la aplicación.
 
Por favor, necesito ayuda urgente. GRACIAS!!

QliX=D!

  • Miembro MUY activo
  • ***
  • Mensajes: 214
    • Ver Perfil
Re: Llamar A Un Manejador De Eventos Desde El Código
« Respuesta #1 en: Jueves 3 de Junio de 2004, 00:56 »
0
que?
Explicate mejor, no entendi bien... a ver.. si decodifico algo...

No, sorry, no entiendo, tomate tu tiempo para escribir.

Pero a ver.
Si lo que queres llamar es a un manejador de eventos de otro formulario usa:

OtroForm->Nombremanejador(/*Parametros*/);


Caso contrario con Nombremanejador(/*parametros*/) alcanza
QliX=D! - From the top of Tsunami

angie1919

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Llamar A Un Manejador De Eventos Desde El Código
« Respuesta #2 en: Sábado 5 de Junio de 2004, 00:34 »
0
A ver si me puedo explicar mejor. Estoy trabajando con los componentes TTable, para acceder a una base de datos. Y quiero aplicar un filtro a uno de ellos. Para ello, pongo el campo "Filtered" a "true" y pongo el filtro correspondiente dentro del manejador de eventos Table1FilterRecord() . El problema es que el filtro se ejecuta al entrar al "form" donde se encuentra la tabla, y yo quiero que se ejecute, cuando aprieto un botón del formulario. Es por eso , que me gustaría llamar al manejador nombrado, para poder ejecutarlo cuando a mi me parezca... Espero haber sido más clara esta vez.

Muchas Gracias de nuevo

Salu2

carquemo

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Llamar A Un Manejador De Eventos Desde El Código
« Respuesta #3 en: Lunes 7 de Junio de 2004, 16:29 »
0
No se exactamente cual es problema pero
¿ no te funciona llamando al metodo directamente ?, si ese el caso pueden ser varias cosas:

¿es miembro de la clase del formulario?, si no lo has declarado en alguna parte (public, private, protected) del formulario, es posible que no este accesible.

¿Le pasas los parámetros correctos? si es un metodo de los que se crean automáticamente, suelen tener un monton de parámetros, busca los correctos

yo hago cosas "parecidas"
Código: Text
  1.  
  2. void __fastcall TForm1::AulaMouseMove(TObject *Sender, TShiftState Shift,
  3.       int X, int Y)
  4. {
  5.     if (arrastrando)
  6.         MonAlumnoMouseMove(Sender, Shift, X, Y);
  7. }
  8.  
  9. void __fastcall TForm1::MonAlumnoMouseMove(TObject *Sender,
  10.       TShiftState Shift, int X, int Y)
  11. {
  12.      // aqui iria el código común a los dos eventos
  13. }
  14.  
  15.  
Tenemos dos orejas, dos ojos pero solo una boca, ¿será por algo?

ChangSoft

  • Miembro activo
  • **
  • Mensajes: 30
  • Nacionalidad: mx
  • Facilitando el Trabajo con T.I.
    • Ver Perfil
Re: Llamar A Un Manejador De Eventos Desde El Código
« Respuesta #4 en: Lunes 21 de Junio de 2004, 02:16 »
0
Claro angie1919 que se puede, supongamos que ttienes el evento creado void __fastcall TWinPrincipal::Salir1Click(TObject *Sender) el cual lo creaste con un button y el cual hace algo cuando plo precionas

Bueno ahora si en otra parte del cogigo necesitas que se haga nuevamente pero sin dar click al boton solo debes de poner:

Salir1->Click();

y asi llamas al evento desde cualquier parte del codigo, espero te sirva
Practicado y Leyendo Obtendras lo que Buscas