Размеры Объектов (и Переменных) При Работе, Как Узнать?

savl

Well-Known Member
Lotus team
28.10.2011
2 126
163
#1
Тут не столько проблема, сколько любопытство.
Можно ли узнать сколько занимают в памяти объекты, которые используются на данный момент?
Скажем объект NotesView или NotesDatabase или NotesDocument, ну и соответственно самописные классы.
И если можно то как?
Логирование через notes.ini настройку, которая все потоки пишет в файл?
 

oshmianski

Достойный программист
Lotus team
25.04.2012
547
13
#2
Len ( { stringExpr | variantExpr | numericExpr | typeName } )

не то?
 

savl

Well-Known Member
Lotus team
28.10.2011
2 126
163
#3
То для типов, выводит сумму байт всех полей типа, то есть то что сделано через Type.
Для класса - ошибка.
 

oshmianski

Достойный программист
Lotus team
25.04.2012
547
13
#4
lsi_info(50) = lotusscript memory allocated
lsi_info(51) = lotusscript memory allocated from os
lsi_info(52) = lotusscript blocks used

не совсем то, но все же.

а так, судя по всему, нужно будет для классов писать свой метод sizeOf.
 

savl

Well-Known Member
Lotus team
28.10.2011
2 126
163
#5
sizeof, да, типа того. Для своих понятно да... надо будет.
А для стандартных лотусовых интересно как...
 

Domino-Designer

Well-Known Member
Lotus team
06.12.2011
417
109
#6
#include <osmem.h>

DWORD LNPUBLIC OSMemoryGetSize(
MEMHANDLE handle);

Что нить типа
Declare Private Function OSMemoryGetSize Lib "NNOTES" Alias "OSMemoryGetSize" _
( Byval hM As Long) As Long

Попробуй ;)

UPD: 6.5.4 на OSMemoryGetSize(doc.Handle) - Красный прямоугольник смерти )))))