Die "Größe" bekommt man über die
RTTI, oder
InstanceSize
Und nein, effektiv ist das einfach nicht möglich, bzw. mit einfachem Aufwand (mit der
RTTI jeden Untertypen durchgehn) und bei "Pointern" garnicht (Gut, man kann den Speichermanager fragen, aber der kennt nicht die "echte" Größe Bytegenau) und bei vrlinkten Objekten ist es auch nicht wirlich sicher, denn snd die Objekte nur verlinkt, oder gehört das Eine Objekt dem Anderen?
Und nein, wieviel Speicher das auf der Platte braucht, kannst du so nicht bestimmen, denn ob wirklich alle Felder gespeichert werden, ist garnicht immer so genau bestimmbar und von Außen ist aucn nicht bestimmbar in welchem Format (einen String kann man ja als
ANSI, UFT-16, UTF-8 oder Sonstwas speichern ... darum hat TPersisten auch Methoden um sich selber zu speichern, weil kein Fremder Bescheid weiß.