FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Llamar a un evento desde código
Hola,
tengo un botón que tiene un evento OnClick, con su código. Necesito llamar a ese evento desde código, sin pinchar el botón. Además lo tengo que hacer desde otro formulario. Es decir, estoy en un formulario X, desde código abro otro formulario Y, además al abrirlo ejecuto el evento OnClik de un botón de este formulario Y. ¿Cómo se llama a ese evento? Gracias. |
#2
|
||||
|
||||
Hola,
Al evento podría llamarse tal que así:
Como si fuera cualquier otro método de la clase, como en realidad es. Sin embargo, según tengo entendido no parece muy buena idea hacer ese tipo de llamadas. ¿Tal vez el código del evento en cuestión debería constituir un método aparte que pudiera ser llamado de forma "más natural"? Es posible que pueda hacerse de otro modo lo mismo que persigues... depende de qué sea. |
#3
|
|||
|
|||
Click
Hola que tal tambien puedes hacer que se lance el evento con :
sin embargo como dice David esto no es lo mejor , podrias crear un procedimiento o una funcion , y asi llamarlos desde donde necesites sin necesidad de estar invocando un evento. |
#4
|
|||
|
|||
Gracias por vuestros comentarios.
Al escribirlo como me decís me da un mensaje de error "This form or method can only allowed for class methods". Lo hacía así porque hay dos formas de acceder a ese segundo formulario que puede tener dos contenidos, desde el formulario anterior seleccionando una opción elegía el contenido, o también podría hacerlo entrando en ese segundo formulario y pinchando el botón, por eso quería aprovechar el código del evento del botón para acceder directamente desde el formulario anterior. Lo voy a probar haciendo funciones, y que los eventos de los botones llamen a las funciones. Saludos. |
#5
|
||||
|
||||
Hola,
Tal vez estás intentando llamar a un método de una clase "estática" que no es tal. Es decir, en lugar de algo como esto:
... suponiendo que "Form2" es una variable que guarda una instancia de "TForm2" (por ejemplo) y que es "correcto", puedes estar codificando algo como:
... directamente, lo que no sería válido, a no ser que "TForm2" fuera una clase "estática", es decir, que no requiere de instanciación alguna. Pero, esto último no es lo común, mucho menos en el caso de clases "formularios". En todo caso no vas por mal camino (en mi opinión) si te decides a utilizar funciones, procedimientos o métodos, que no sean propiamente eventos, porque un evento no debería ser llamado por ti. El ejemplo del "onclick" es bastante claro: el evento debería lanzarse cuando se hace clic en cierto lugar y no de otro modo, puesto que entonces se están confundiendo las cosas. Supongamos algo de código:
Si quieres cambiar el "Caption" del formulario a "ClubDelphi", lo suyo no es que llames al evento "Click" del botón que hace esa tarea, sino, plantearte el asunto más o menos de este otro modo:
Ahora en el evento haces uso de un método para hacer lo que quieres, un método que no es un evento, y que forma parte también, en este caso, de la clase "TForm1". Pues bien, si ahora quisieras cambiar el "Caption" del formulario desde otro lugar, no usarías el evento "Onclick" del botón de marras, sino el método que sirve, precisamente, para lo que quieres hacer, y que puedes usar en donde mejor te parezca: sea en el evento "Onclick" de un botón, o desde cualquier otro sitio. |
#6
|
|||
|
|||
Muchas gracias, así lo he hecho, es mucho más lógico, no se en qué estaría pensando para intentar hacerlo llamando directamente a eventos.
Saludos a todos. |
#7
|
||||
|
||||
Hola,
No te preocupes. Que levante la mano quien nunca se haya propuesto eso y cosas "peores" aún. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como llamar codigo hecho en VC++ desde C# | juziel | .NET | 0 | 17-10-2007 21:05:13 |
Llamar evento OnClick de un boton desde otro Form | Peterman | OOP | 7 | 17-10-2006 19:12:31 |
Llamar evento desde otro evento | nachito_tuc | OOP | 1 | 23-08-2006 22:37:43 |
LLamar Evento onkeypress | estebanx | Varios | 1 | 26-05-2006 22:43:14 |
Llamar a evento Keypress | edgusano | .NET | 1 | 30-11-2005 23:02:29 |
|