Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1103216362
Igorek
2004-12-16 19:59
2005.01.09
А что за мода такая пошла на псевдонимы ?


1-1103576127
Logun
2004-12-20 23:55
2005.01.09
ПРОБЛЕМА с Delphi+Flash!


1-1103709382
Руслана
2004-12-22 12:56
2005.01.09
Подскажите как грамотно решить следующую задачу


1-1103545315
tradakad
2004-12-20 15:21
2005.01.09
показать имя PopupMemu итема


1-1103711338
runa
2004-12-22 13:28
2005.01.09
Как используется TAction





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский