Ver Mensaje Individual
  #1  
Antiguo 24-02-2004
murci murci is offline
Miembro
 
Registrado: jul 2003
Ubicación: Murcia
Posts: 43
Reputación: 0
murci Va por buen camino
Unhappy 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
Responder Con Cita