FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Herencia en Delphi 8
Hola:
Desde Enero estoy trabajando con Delphi 8, programando una aplicación VCL Form. Estoy teniendo ciertos problemas a la hora de la herencia, y no se si es por algún parámetro de configuración o defecto del compilador. Le he instalado la actualización de primeros de febrero. Paso a comentar los problemas. CASO 1 tenemos 3 formularios, F1 => F2 => F3. En F1 declaro una acción, por ejemplo, un cerrarVentana. Entonces tenemos lo siguiente: procedure TF1.CerrarVentanaExecute ... begin Close; end; Esta acción tiene como ShortCut la tecla de escape. F2 hereda de F1 y F3 hereda de F2. Bien pues en F2 y en F3 al pulsar la tecla Escape no se cierra el formulario. Abro la acción y el inspector de objetos miro que procedimiento se ejecuta para el evento OnExecute y ¡¡ NO HAY NADA !! Coloco la instruccion: cerrarventana.onexecute := cerrarventanaExecute; en el formCreate del formulario y funciona perfectamente. Queda claro el problema existente. CASO 2 Tenemos un formulario F1 con una acción declarada, por ejemplo, CambioTag. Al ejecutarse esta acción pone el tag del objeta que la produce a 1. Ahora en F1 tengo 3 TEdit y en el evento OnEnter le asocio en tiempo de diseño el procedimiento CambioTagExecute. Grabo, compilo, y funciona perfectamente. Cierro el proyecto, lo vuevo a abrir, compilo y ¡¡ NO TIENE ASOCIADO CAMBIOTAGEXECUTE AL EVENTO ONENTER DEL TEDIT !! Tengo que colocarlo en tiempo de ejecucion al igual que en el caso 1. Espero que esto sea que lo tengo mal configurado, porque si es un fallo de Delphi 8, es bastante grave a mi modo de ver. Gracias por vuestra ayuda y a ver si me podeis dar una solución a este problema totalmente ilogico.
__________________
J. Adolfo Núñez |
|
|
|