![]() |
Porque no tiene... porque?
Hoy me preguntaba a mi mismo:
"Por qué un componente determinado no tiene eventos OnEnable y OnDisable?" Por ejemplo, un TEdit. Es mi duda existencial en estos momentos. |
A riesgo de equivocarme voy a dar mi opinión.
Creo que estos eventos no son necesarios porque la habilitación y deshabilitación de los componentes son controladas por código, es decir, dichos eventos se producirían justo después de una línea de código como Componente.Enabled := True o Componente.Enabled := False, es decir, el programador sabe perfectamente cuando van a ocurrir. Por el contrario acciones como pulsar una tecla, salir de un componente, etc. son controladas por el usuario, por lo tanto pueden suceder en cualquier momento, y de ahí la necesidad de eventos para controlar el instante en que ocurren, puesto que no podemos establecer un sitio en nuestro código donde dicha acción va a ocurrir. Espero haberme explicado. Un saúdo. |
Cita:
|
Cita:
Porque no sería necesario, el código que pones haría lo mismo que :
Además, esos procedimientos los puedes programar perfectamente :
Pero los procedimientos anteriores no los consideraría eventos, podrían estar asociados a un evento como pulsar un botón, salir del componente, ... pero seríamos nosotros los que decidiesemos cuando se habilita y cuando no, y no el usuario. Un saúdo. |
La franja horaria es GMT +2. Ahora son las 20:53:49. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi