Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Вниз

как узнать размер класса   Найти похожие ветки 

 
Krog   (2002-11-19 13:08) [0]

Есть класс внутри которого реализован связный список (через рекорды). Как узнать размер класса со списком?


 
Krog   (2002-11-19 13:14) [1]

структура списка:
String,String,Int,<указатель на след. запись>


 
Skier   (2002-11-19 13:23) [2]

>Krog
Может помочь SizeOf(...)
и TObject.InstanceSize


 
han_malign   (2002-11-19 13:37) [3]

x:=Head;globSize:=InstanceSize;
while(x<>nil)do begin
inc(globSize,sizeof(x^)+(Length(Str1)+4)+(Length(Str2)+4));//если есть открытые массиыв/строки
x:=x.Next
end;
З.Ы. Содержимое класса, содержимое строк и записи, гарантированно не будут представлять непрерывную область памяти, если их, скажем, сохранять/восстанавливать в/из файл/поток, то исключительно поэлементно.


 
Krog   (2002-11-19 13:39) [4]

SizeOf выдает что-то не понятное (пока не понятное)
InstanceSize показывает размер класса правильно, но без учета списка.
Мне кажется стандартными средствами это сделать нельзя...


 
Krog   (2002-11-19 13:42) [5]

2 han_malign сенкс...


 
han_malign   (2002-11-19 13:45) [6]

sizeof выдает 4(или 16=sizeof(string)*2+sizeof(int)+sizeof(pointer)) - размер указателя, стандартными средствами этого сделать точно нельзя(хотя что понимать под стандартными средствами, алгоритмическая последовательность стандартных средств - тоже является стандартным средством)
З.Ы. sizeof(string)=4, sizeof(ShortString)=256.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-92975
Holy
2002-11-18 10:47
2002.11.28
Графика


14-93222
Сатир
2002-11-10 16:11
2002.11.28
Именинники 10 ноября


1-93004
да
2002-11-18 20:23
2002.11.28
Как перетащить из internet explorer ссылку в мою прогу?


14-93227
to666a
2002-11-08 21:37
2002.11.28
WindowsHook


1-92964
VaS
2002-11-18 11:33
2002.11.28
Объект, вызвавший данный метод?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский