Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   llamar procedimiento (https://www.clubdelphi.com/foros/showthread.php?t=2888)

cmgenny 11-08-2003 21:10:48

llamar procedimiento
 
Holas

Quisiera saber si se puede llamar un procedimiento de un from a otra, por que no he logrado hacerlo, yo escribo el nombre del procedure y me da error.

Otra cosa es posible llamar un evento desde otro, me explico, yo puedo del evento onexit de un edit llamar el evento onclick de un boton eso se puede hacer perfectamente. Pero si lo intento hacer con otro evento que no sea el onclick de un boton me sale mal, es decir, si yo quiero que el evento onkeypress de un edit cuando yo le de a la tecla x se ejecute lo que esta programado en el evento onchange de un listbox.

Muchisimas gracias por sus atenciones.

jachguate 11-08-2003 21:27:10

Para llamar a un método (procedimiento) de otro form, basta con calificar el nombre del método, algo así como:

Código:

Procedure TForm1.Button1Click(Sender : TObject);

Begin
  Form2.MetodoQueQuieroLlamar;
End;

Al final de cuentas, un Evento no es mas que un método de una clase, asi que podes llamarlos desde cualquier otro método. Lo único que es importante es que pases la lista de parámetros que el método espera recibir para ser invocado. De lo contrario obtendrás un mensaje de error del compilador.

Hasta luego.

;)

Ruben_Cu 12-08-2003 00:28:13

Hola cmgenny, solo dos cosas:
En el caso de tu pregunta no es posible implementar el ejemplo puesto que el listbox no tiene el evento OnChange.
Viendolo de otra manera, que creo te va a ayudar, como te comentaba jachguate, debes tener en cuenta el argumento del procedimiento, por ejemplo:
Código:

procedure TForm1.Edit1Change(Sender: TObject);
begin
 //tus códigos a ejecutar
end;

procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
        edit1.OnChange(nil);
end;

En este caso el keypress del listbox dispara el evento OnChange del edit.
Fijate que es necesario el uso de la palabra reservada 'nil', como el sender no es el dueño del evento invocado (Edit) 'nil' hace que el puntero no apunte a ningún objeto y por tanto pueda compilar sin error.
Espero te aclare y te ayude estos comentarios
Saludos


La franja horaria es GMT +2. Ahora son las 14:38:20.

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