Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-11-2005
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
...Con respecto al uso abreviado de Inherited, hace algún tiempo que lo desacostumbré porque imposibilita usar la opción Find Declaration para ir rápidamente al código del método heredado.

Un abrazo complementario.

Al González.
Responder Con Cita
  #2  
Antiguo 13-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,


Cita:
Empezado por Al González
...Con respecto al uso abreviado de Inherited, hace algún tiempo que lo desacostumbré porque imposibilita usar la opción Find Declaration para ir rápidamente al código del método heredado.
Una cosa más que sé. Gracias Al.


Cita:
Empezado por Al González
Dec: Te aconsejo que optes por la recomendación de Román respecto al método virtual Invoke.

Verás, la óptica es esta: Si existe un método virtual que llama directa o indirectamente a un manejador de evento, lo mejor es tratar de redefinir ese método y agregar ahí la nueva funcionalidad relacionada con el evento.
No lo haré así, por el momento, aunque acabo de intentarlo de nuevo. Por el momento quédese como está el asunto, aunque, no dudo que sea más efectivo hacer lo que dices, no he podido conseguirlo. ¿Porqué no pregunto por aquí? ¡Hoy no, que me da pereza!


Cita:
Empezado por Al González
Si por alguna razón (técnica o lógica) prefieres redefinir la propiedad evento, ten en cuenta lo siguiente:

1. No necesitas usar Load.
No se hace uso de "Load", quizá se planteó, pero, ahora mismo no se hace uso de ese método.


Cita:
Empezado por Al González
2. Puedes redeclarar la propiedad evento en la nueva clase y con el mismo nombre para ocultar la propiedad padre ante el inspector de objetos, guardando la nueva propiedad en un nuevo campo.
Se agradece la información. De todos modos ahora la propiedad está "heredada", de tal forma que el componente puede hacer uso del evento y el usuario del componente también, del mismo evento: el evento llegará antes al usuario que al componente.


Cita:
Empezado por Al González
4. Si la propiedad original no está definida con métodos de acceso virtuales, tu componente tendrá el riesgo que señala Andrés, al hacer referencias polimórficas (se operará sobre la propiedad padre, no la nueva).
Aquí ya me pierdo un poco Al. Llego hasta decir que la propiedad original, efectivamente, no está definida con métodos de acceso virtuales. El riesgo que corre el componente (o el usuario del mismo) no logro captarlo. Acaso haga alguna que otra prueba Al. En cualquier caso gracias por tus comentarios.

Un abrazo y medio.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 31-01-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola de nuevo!

Después de cuatro años.

Vine a parar a este hilo buscando en Google ejemplos de clases derivadas de TWebBrowser que redefinieran el método InvokeEvent. He estado inclinado a redefinir ese método para añadir comportamiento a los eventos OnNavigateComplete2 y OnDocumentComplete.

Después de haber echado un nuevo vistazo al tema, reafirmo mi intención de redefinir a InvokeEvent. Fue la propuesta que puntualmente hizo Román en aquel entonces para el planteamiento de Dec.

La razón para interceptar esos eventos es dotar al componente de la capacidad de saber cuándo realmente ha terminado de navegar, pues las propiedades Busy y ReadyState me cuentan "mentiras" con ciertas páginas. Haciendo algunas pruebas, he notado que ReadyState puede alcanzar un valor de ReadyState_Complete antes de que varios elementos de la página estén presentes, mientras que el evento OnDocumentComplete sí que tiene la última palabra (se dispara por última vez cuando tales elementos ya están disponibles).

Saludos.

Al González.

P.D.

David, ignoro si aún tienes aquella última duda que planteabas.

Andrés, amigo, me resultó grato leerte nuevamente.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 23:23:46.


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