Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.16;
Скачать: CL | DM;

Вниз

Integer(pchar())   Найти похожие ветки 

 
Olivka ©   (2003-10-06 12:42) [0]

Если я какой =то переменной присваиваю
var TAG:integer
TAG:=integer(pchar("ddd"));

То где будет храниться "ddd"? В TAG мы будем иметь целочисленное от указателя? И нужно ли будет потом удалять за собой эту строчку?


 
Digitman ©   (2003-10-06 12:50) [1]


> где будет храниться "ddd"


в read-only секции инициализированных данных процесса


> В TAG мы будем иметь целочисленное от указателя


да. значение указателя, рассматриваемое просто как целое 32-разр. число со знаком


> нужно ли будет потом удалять за собой эту строчку


нет.


 
Olivka ©   (2003-10-06 16:16) [2]

А если TAG - это свойство тег контрола? тут нету никаких подводных камней? если его присваивать например, в Init, а потом использовать как

> TempPChar:=pchar(SomeControl.tag);


 
Digitman ©   (2003-10-06 16:34) [3]

никаких.

Tag - просто поле структуры класса контрола

Компилятор не делает никаких предположений о том, что в каждый момент времени хранит поле объекта Control.Tag, и не вставляет неявно никакой код, который бы работал со значением этого поля

выражение

pchar("ddd")

вернет типизированную ссылку на область данных, которая фиксирована по местоположению в ВАП процесса.

время жизни данных, которые определены и адрес которых получен таким образом, равно времени жизни процесса и не зависит ни от чего ... ну разве что от извращений программиста, вздумавшего изменить привелегии доступа к соотв.странице вирт.памяти процесса или вообще выгрузить ее из ВАП процесса)


 
Olivka ©   (2003-10-06 20:14) [4]

Спасибо большое за такой четкий ответ.



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

Текущий архив: 2003.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-51257
Vemer
2003-10-07 10:10
2003.10.16
Float To Integer


1-51261
SuperKot
2003-10-06 03:50
2003.10.16
Программирование для WWW


14-51514
Igor_thief
2003-09-27 14:07
2003.10.16
MDI


1-51296
malamba
2003-10-06 15:11
2003.10.16
перезагрузка своего компонента


6-51378
Raven
2003-08-18 10:46
2003.10.16
netshare