Don Roman,
No hubo arrogancia de por medio, es mas si nota, el comentario no fue dirigido a ninguna persona en especial. Estoy simplemente exteriorizando mi experiencia personal, yo en casa, no me preocupo tanto por crear las ventanas en el momento en que se necesitan (al fin y al cabo en casa programo por R&D), dejo que delphi las cree por si solas al inicializar el proyecto (ideal si se tienen hasta 10 ventanitas), yo en la casa no me preocupo mucho por vicios de programacion porque solo yo usare y entendere ese codigo.
El problema surge cuando ese codigo es usado por muchos, en equipos de 6+ miembros donde existe rotacion de codigo, son vicios de desarrollo como los anteriores los que atrasan el desarrollo si son generalizados.
Insisto, un foro es un lugar para la discusion y la opinion personl, y me preocupa y alarma que mi comentario genere una reaccion contraria en cualquiera.
Un claro ejemplo son los newsgroups publicos de borland delphi. Ahi cualquier res se destaza en segundos, y los moderadores tienen que lidear con situaciones realmente agobiantes y tambien con gente realmente inteligente, pero con actitudes realmente encontradas.
Saludos.
Pst.
Codigo del VCL donde se implementa un Override al DBLookUpList OnKeyDown event.
Código Delphi
[-]
procedure TDBLookupList.KeyDown(var Key: Word; Shift: TShiftState);
begin
try
FInCellSelect := True;
inherited KeyDown (Key, Shift);
finally
FInCellSelect := False;
end;
if (Key in [VK_UP, VK_DOWN, VK_NEXT, VK_PRIOR, VK_HOME, VK_END]) and
CanEdit then ListClick;
end;
Es mas gran parte de la libreria dbLookUp.pas de Delphi utiliza los eventos OnKeyPress, OnKeyDown, OnMouseMove y otros.
Por ejemplo, tiene gran sentido el tomar el dbgrid basico y override alguno de sus eventos con el fin de extenderlo y volverlo a publicar como un componente extendido. Gran parte del JVCL se basa en este principio.