Que tal colegas....
Tengo ya varios dias tratando de resover este poblema y no doy con la solución. Les explico...
He desarrollado un componente no visual para ejecutar ciertas acciones que me interesan cuando se ejecuta el evento OnCloseQuery de un formulario.
Dentro de mi clase creo una variable de tipo TForm para poder accesar al formulario, haciendo el cast correspondiente cuando mi compenente es creado.
Dentro del constructor de mi componente...
Código:
FFormPropietario = static_cast<TForm*>(Owner);
De esta forma, apunto al formulario en que fue agregado mi componente.
Mediante la siguiente instrucción asigno la función que debe ejecutarse en el evento CloseQuery del formulario.
Código:
FFormPropietario->OnCloseQuery = MiCloseQuery;
MiCloseQuery es un metodo que tengo implementado en mi componente. Hasta aqui bien. Cuando inserto mi componente en un form y cierro el form se ejecuta el código de mi componente tal como debe ser.
El problema esta cuando agrego código en el evento OnCloseQuery del formulario donde he insertado mi componente, este no es ejecutado, solo se ejecuta el de mi componente.
Lo que necesito es que si agrego código al evento OnCloseQuery del form, este se ejecute, pero tambien se debe ejecutar el de mi componente.
En pocas palabras, necesito hacer un override del evento OnCloseQuery.
A lo mejor lo que necesito es capturar el evento (desde mi componente) que me indica que se intenta cerrar el form y ejecutar el código que me interesa (desde mi componente) y seguir con la secuencia de instrucciones que se han agregado en el evento OnCloseQuery del formulario.
Cualquier ayuda o sugerencia será bienvenida.
Gracias y saludos