On Wed, 2018-10-24 at 22:06 +0200, Sven Barth via fpc-pascal wrote: > Am 20.10.2018 um 20:09 schrieb Marc Santhoff: > > Hi, > > > > from testing a while ago I remember the following: > > > > The memory used by a class instance is composed of > > 1. the size ".instanceSize()" gives back > > 2. the memory used by other variables and maybe class instances referenced > > by pointers and owned by the instance in question > > 3. strings are (to be) included in 2., string types are in fact references > > aka > > pointers > > > > The second clause is sort of "by definition", but I do define like that in > > this case. > > > > Is that listing correct and complete? > > The size InstanceSize() returns is the pointer to the VMT plus the size > of any field in the class or any of its parent classes as if it would be > a record (keep in mind that class references are merely pointers, so a > class having another as a field is merely a pointer, not its > InstanceSize(), the same is true for e.g. Ansi-/UnicodeString).
OK, so my list is correct in general. The only thing missing would be the code, but what I need to count is the data size when having lots of instance. > Regards, > Sven Many thanks. -- Marc Santhoff <m.santh...@web.de> _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal