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

Вниз

Pointer на Record... Как вытащить данные?   Найти похожие ветки 

 
Grizly   (2004-12-23 15:30) [0]

Вот код

TRec=record
par_0:string;
par_1:string;
par_2:string;
par_3:int64;
end;

var
MyRec:TRec;
PAR0:string;
...
Node.Data:=@MyRec;
...
PAR0:=MyRec.par_0; //<-- а как PAR0 вытащить из Node???

Подскажите, как PAR0 присвоить MyRec.Par_0, действуя через Node.Data?


 
begin...end ©   (2004-12-23 15:36) [1]

> Grizly   (23.12.04 15:30)

PAR0 := TRec(Node.Data^).par_0


 
Александр Иванов ©   (2004-12-23 15:36) [2]

Если я правильно телепатировал :) и Node.Data имеет тип Pointer, то так:

PAR0 := TRec(Node.Data^).par_0


 
MBo ©   (2004-12-23 15:43) [3]

объяви тип-указатель на TRec и
PAR0:=PRec(Node.Data)^.par_0;


 
Grizly   (2004-12-23 16:07) [4]

Странно..
Заполняю MyRec, присваиваю указатель на него Node.Data:=@MyRec;, ставлю breakpoint на следующую строку.Node.Data=nil.
Почему так происходит?


 
begin...end ©   (2004-12-23 16:20) [5]

> [4] Grizly   (23.12.04 16:07)

Всё же проверьте, что возвращает Assigned(Node.Data) после Node.Data := @MyRec.


 
Ega23 ©   (2004-12-23 16:45) [6]


type
PRec=^TRec;
TRec=record
......
end

var
MyData:PRec;

New(MyData);
Mydata^.Par_0:="ttttt";

Node.Data:=MyData;

Par0:=PRec(Node.Data)^.Par_0;

Dispose(MyRec);



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1103282454
TUser
2004-12-17 14:20
2005.01.09
Никому монитор не нужен?


3-1102352248
Сергей_26
2004-12-06 19:57
2005.01.09
Вставка картинки в graphic поле таблици


14-1103530570
MVVD
2004-12-20 11:16
2005.01.09
Почему не выключается компьютер


9-1095676694
DeFenix
2004-09-20 14:38
2005.01.09
Где можно скачать последнюю версию GlScene?


1-1103736697
Alex_Petr
2004-12-22 20:31
2005.01.09
Обнуление переменной.