Главная страница
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.019 c
14-51431
Andersen
2003-09-29 15:57
2003.10.16
Сетевуха


3-51109
vil
2003-09-25 13:14
2003.10.16
Параметры хранимой процедуры


14-51446
lokka
2003-09-29 20:51
2003.10.16
Аутсорсинг!


3-51079
Брат
2003-09-26 13:44
2003.10.16
Как в запросе INSERT передать NULL?


3-51112
DelphiNew
2003-09-25 09:47
2003.10.16
FoxPro -->Interbase