Цитата:
Сообщение от
SolNik
Всем спасибо, но времени разбираться с недокументированными классами не было, а типы структур данных уже известны - решил сам набросать...
Жаль... Вот так оно всегда в Аксапте...
А все из-за документации...
Немного критики и предложений:
1. вы ответили не на исходный вопрос "размер памяти, занимаемой объектом", а на другой - "Сколько памяти могут занимать объекты при ваших предположениях". Кроме того, сами предположения требуют пересмотра. Например, непонятно как реально хранится строка - как sz или bsz.
2. Вообще говоря, стоит проверять не только id самого класса, но и id его родителей. Вдруг кто-нибудь от map создаст потомка? Т.е. вместо classIdGet() метод SysDictClass::isSuperClass(...)
Разобрались бы с HeapLog.
Хоть EVGL и прав - вы не увидите там размер каждого объекта.
Но зато очень точно и быстро увидите общий размер памяти, выделенной под различные кучи ...
А это как раз то, что вам нужно, насколько я понимаю...