Sea cual fuese el camino que elijas Neftali, todo te llevará a hacer uso de RTTI... es inevitable.
Ya sea que derives de TPersistent, TComponent y/o diseñes tus propios métodos (fuera de la jerarquía de clases de las anteriores) para llevar a cabo esto.. te toparás con RTTI.
No conozco el método WriteComponent que comentan pero estoy casi segurísimo que por dentro todo, de uno u otro modo, lo que hace es valerse de la RTTI (ya sea la básica, o la extendida desde la salida de 2010) para tener acceso a las propiedades del componente para guardar los datos en algún archivo.
Lo que habría que estudiar es el problema que pudiera afectar al anidamiento. Partamos de lo fundamental ¿Que sucede, por defecto, con el writeComponent cuando uno guarda el objeto? En base a eso ya se podría saber si es viable esta opción... O si se deberá irse a los palos e ingeniárselas para implementar algo propio que vaya leyendo el objeto en cuestión y definir algún formato/estructura propia para el archivo.
La otra posibilidad es ver si de por casualidad no hay algún motor de persistencia que tenga la posibilidad de "exportar" a archivos los objetos y no a bases de datos.
Saludos,
|