Ver Mensaje Individual
  #3  
Antiguo 23-08-2004
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Reputación: 22
sur-se Va por buen camino
Hola. Gracias por la respuesta.
Efectivamente el polimorfismo debería actuar aquí al redefinir el método Puedo_Cerrar con override. Lo que no tenía claro es que al hacer el "with MDIChildren[i] as TMDIBase1 do" tomase el Puedo_Cerrar de la nueva clase y no de la TMDIBase1, ya que al decirle que trate al MDIChildren[i] como un formulario TMDIBase1 no llamase al método Puedo_Cerrar redefinido.

Lo que no veo tan claro es lo que me comentas del método OnCloseQuery. Efectivamente si trato de cerrar un formulario me saltaría ese evento y ahí podría hacer ese proceso para que no se cerrara, pero no me solventaría lo que pretendo hacer. Yo quiero saber si puedo o no cerrar el formulario. Tal como tu comentas tendría que hacer un close del formulario, y el se gestionaría, pero desde donde hago el close tendría que hacer más adelante una comprobación de si se cerró o no, por lo que al final tendría que consultar de alguna manera eso. Por ello, lo encapsule en el método Puedo_Cerrar.

Por otra parte, efectivamente, pensé en hacer una clase ancestro inicial con el método puedo_cerrar y después las dos "bases" mdi sobre estas, pero para un solo método no me merecía la pena hacer una clase. Las dos "MDI base" son totalmente diferentes.

Un saludo.
Responder Con Cita