A partir de aquí, de mi parte son solo ideas, pero te invito a intentarlo y ojalá lo consigamos.
Comienza por crear un ayudante de clase (class helper) para TOleControl llamado TOleControlHelper, a fin de acceder de manera formal y segura a su campo privado FControlDispatch. El ayudante debe permitir sobrescribir el valor de ese campo. Y crea una clase nueva llamada TOleControlDispatchFixer que implemente la interfaz IDispatch y contenga un campo protegido llamado InternalDispatch de tipo IDispatch, aunque de momento los métodos de la clase estén vacíos. Usaremos una instancia de esta clase para sustituir y envolver (wrap) a la interfaz que TOleControl guarda en FControlDispatch.
Si algo no compila hazlo saber, para contar con la ayuda de los compañeros. Yo regreso luego.
|