Ver Mensaje Individual
  #5  
Antiguo 07-03-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
Lo que seguramente no te cuadra son estas dos líneas, como a mí la primera vez que lo ví:
Código Delphi [-]
  if Assigned(FCancelar) then
    FCancelar(self);

TNotifyEvent es un puntero a un procedimiento (lo que comunmente se llama evento).

Assigned(FCancelar) es la forma de saber si el usuario ha asignado el evento, es decir, saber si el usuario ha hecho esto:
Código Delphi [-]
Frame1.OnCancelar := AlCancelar;
Exactamente lo mismo que el inspector de objetos, si un evento está vacío (no tiene el nombre escrito) delphi no ejecuta nada.

Si tiene algo escrito, ejecuta ese procedimiento (TForm1.Button1Click(..) por ejemplo.

FCancelar(self), en tiempo de ejecución se sustituye por:
Código Delphi [-]
Form1.AlCancelar(Frame1);
... eso suena raro, pero alguna vez supongo que has hecho esto:
Código Delphi [-]
button1Click(nil); 
// o bien
button1Click(Form1);
para ejecutar el evento Onclick de un boton, en tu ventana por código, pues realmente es eso lo que se hace con la línea FCancelar(Self), ejecutar el procedimiento que se haya asignado, en este caso "AlCancelar".

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 07-03-2007 a las 15:32:17.
Responder Con Cita