Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c