Tal como
Al comentaba, es un problema porque en el proceso de persistencia (streaming o como se llame) no sólo está limitado a propiedades Públicas sino que, ademas, son convertidas a String:
Un bitmap es convertido a Hexadecimal... esos datos terminan ocupando el doble, los colores veces son traducidos a nombres, los enteros en raras oportunidades ocupan los 4 bytes que ocupan en memoria...
Además, algunas propiedades no se guardan (con el valor por default), también no se tiene en cuenta cosas la alineación con la memoria, estruturas empaquedas o no...
en otras palabras, no tiene nada que ver con lo que ocupa en memoria.
Mi instinto me dice que si se quiere saber REALMENTE cuánto ocupa algo en memoria es muy muy difícil, al menos bajo este marco de trabajo (delphi/cbuilder).
Tal vez, si se conoce muy por dentro TODO el funcionamiento de del sistema (Rtl, Vcl, compilador y un largo etc.), hookeando la función de memory allocation (no me viene en castellano) como lo hace el Fast Memory Manager e ir recopilando y ordenando la información, sea factible... pero se me hace que es una tarea importante.
A lo mejor se puede hacer más sencillamente, peor mucho no se me ocurre cómo.
Y, como si fuera poco, si así y todo logramos implementar alguna solución a semejante incógnita (ya me picó el bichito de la curiosidad nuevamente. jejeje) nos vamos a encontrar con un problema aun mayor, que nos va a dar por el c**o! saben a qué me refiero???
http://www.unex.es/~fan/cuantica/mc%...heisenberg.htm
qué dramaturgo soy! pero es verdad... snif snif... bueno, al menos hasta que se compruebe lo contrario, no?
pero claro... no nos vayamos por las ramas (perdón, confieso.. fui yo!

) ... y, como ya se dijo, esperemos a que
AFilth conteste lo antes preguntado.