Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Asignando procedemientos a eventos. (https://www.clubdelphi.com/foros/showthread.php?t=68162)

yapt 28-05-2010 11:55:11

Asignando procedemientos a eventos.
 
Estoy empezando con Lazarus por curiosidad...

Me encuentro que para asignar un procedimiento a un evento, en delphi yo hago:

Código Delphi [-]
Button1.OnClick := MiPropioProcedure;

pero en Lazarus, debo hacerlo así:

Código Delphi [-]
Button1.OnClick := @MiPropioProcedure;

Ando muy equivocado... o es que es así....

Saludos.

Ñuño Martínez 28-05-2010 12:21:11

Es así. En mi opinión el método de Free Pascal me parece más correcto que el de Delphi, puesto que un tipo "procedimiento" es en realidad un puntero (una dirección de memoria) y la única forma de obtener un puntero es con el operador "@" (que significa significa algo así como "dame la posición de memoria del objeto").

Si no recuerdo mal, con Delphi se pueden utilizar ambos métodos (con y sin operador "@"), siendo obligatorio el operador en casos especiales (por ejemplo, con funciones sin parámetros).

Como curiosidad, para llamar al evento habría que utilizar el operador "^".

yapt 28-05-2010 12:23:11

Ok, gracias Nuño.... A mi también me parece menos ambiguo el añadir el operador @ delante del proc. Pero bueno, era por confirmar.

Gracias.


La franja horaria es GMT +2. Ahora son las 17:05:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi