Gracias gatosoft por responder
Cita:
Empezado por gatosoft
hola bucanero.
Sugiero que utilices la RTTI. Para ello debes cambiar tu codigo de la unidad configs asi:
|
En cuanto a tu sugerencia de usar la RTTI es por donde en un principio pensé que podría ir la solución a este problema, aunque en estos temas de la RTTI me pierdo...
Viendo tu código me encuentro que en la linea donde debe de buscar y localizar la classe devuelve NIL y no la encuentra.
Cita:
Empezado por gatosoft
Código Delphi [-]
RttiType := RttiContext.FindType(ClassIniFileName) as TRttiInstanceType;
|
El problema imagino que viene de que para que la pueda localizar hay que registrar previamente la clase.
Código Delphi
[-]
RegisterClass(TMyIniFile);
Pero aquí aparece otro problema, y es que el procedimiento
RegisterClass(AClass: TPersistentClass) requiere que la clase a registrar sea descendiente de TPersistentClass, y yo estoy intentando registrar una clase descendiente de TINIFile que a su vez es una una classe descendiente directamente de TObject y por este motivo el compilador da el siguiente error
E2010 Incompatible types: 'TPersistentClass' and 'class of TMyIniFile'
Cita:
Empezado por gatosoft
Igual, amigo bucanero, creo que vas por un lado que no es. Lo que tu quieres implementar, puede salir mejor utilizando interfaces ==> El problema con el caso específico que propones es que las interfaces no admiten constructores....
|
En cuanto a esta propuesta... sinceramente, no veo como aplicar una solución...
Porque mi idea final a parte de lo ya explicado es sobre-escribir los métodos de lectura/escritura de mi clase descendiente de TINIFile, para que en vez de guardar los datos en un fichero los guarde directamente en la BBDD, manteniendo la máxima compatibilidad con el componente original para que en determinados casos que no quiera utilizar mi componente propio y/o guardar en la BBDD puede usar directamente un TINIFile.