Форум: "Основная";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизАдресное пространство Найти похожие ветки
← →
Separator (2002-10-29 07:23) [0]Допустим так:
var
F: TFont;
Adr: pointer;
Size: word;
begin
F:= TFont.Create;
F.Assign(Edit1.Font);
Adr:= ?;
Size:= ?;
F.Free
end;
1) Как узнать где в памяти хранится переменная F и записать в Adr?
2) Размер в байта выделеной памяти под F?
← →
MBo (2002-10-29 07:35) [1]1) F и есть указатель на объект. Если интересует, на какое именно его место- смотри system.pas ;)
2) TObject.InstanceSize
← →
Separator (2002-10-29 07:41) [2]Я знаю что он и есть указатель на объект, но как узнать где он хранится в памяти?
← →
MBo (2002-10-29 07:51) [3]А что, по твоему, означает слово "указатель"?
← →
Anatoly Podgoretsky (2002-10-29 08:00) [4]Adr:= @F;
Size:= SizeOf(F);
← →
Separator (2002-10-29 08:08) [5]
> Anatoly Podgoretsky © (29.10.02 08:00)
> Size:= SizeOf(F);
Size = 4
> Adr:= @F;
Я был просто не уверен в этом
← →
Юрий Зотов (2002-10-29 09:17) [6]> Separator
Так Вам нужен размер и адрес памяти, выделенной под F, или под объект TFont? Это разные вещи.
← →
Smithson (2002-10-29 09:22) [7]Size = SizeOF(TFont);
Если на до уметь опеределять размер произвольного объекты, то разбирайся с RTTI (сам я слаб на эту тему)
← →
Юрий Зотов (2002-10-29 09:26) [8]> Smithson © (29.10.02 09:22)
1. SizeOf(любой_класс) всегда дает 4.
2. C RTTI разбираться не нужно, вполне хватит InstanceSize.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c