Вниз
Скачать: CL | DM;

Адресное пространство   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
3-21458
VikOss
2002-10-21 14:44
2002.11.07
TQuery


7-21829
max2057
2002-09-04 23:45
2002.11.07
version number для драйвера NT


4-21850
progger
2002-09-24 16:21
2002.11.07
Как отослать другому приложению сочетание клавиш?


14-21755
RV
2002-10-18 16:25
2002.11.07
Единица измерения возлияния - Лигрыл (Литр*градус/рыло)


4-21855
Aldor
2002-09-22 19:09
2002.11.07
Вопрос сложный. Если кто разбирается, посмотрите.




   Наверх