Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 19-12-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
Ya Roman ha explicado muy bien el porque usar el operador as/is en estos casos (recordá que el método Label1Click podrías asignarlo a componentes de diferentes clases en tiempo de ejecución, e incluso invocarlo desde código. Que pasa si a un futuro programador que está dando mantenimiento a tu código se le ocurre hacer esto:

Código Delphi [-]
  Label1Click(Button1);  //comportamiento aleatorio, pero seguramente erroneo
  Label1Click(nil); //EAccessViolation!

Solo para terminar de molestar un poco... he podido comprobar que el método CanFocus puede decirnos true, y de todas formas ocurrir un error al intentar establecer el foco, así que para terminar de "molestar" en terminos de Fede:

Código Delphi [-]
procedure TForm.LabelClick(Sender: TObject);
begin
  if assigned(Sender) and (Sender is TLabel) then
    with Sender as TLabel do
      if Assigned(FocusControl) and FocusControl.CanFocus then
        try
          FocusControl.SetFocus;
        except
          on EInvalidOp do
            ;  //no hacemos nada!
        end;
end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:46:32.


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
Copyright 1996-2007 Club Delphi