Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Record и указатель на Record


StriderMan ©   (2006-06-06 13:31:00) 

Вопрос такой. Есть тип Record. Есть тип указателя на этот RECORD.

 TMyRec = record
   Name: string;
   Value: integer;
 end;

 PMyRec = ^TMyRec;


Если в процедуру передавать PMyRec, то делфи позволяет обращаться к полям Record'а без разыменовывания указателя.


procedure TForm1.FillRec(const ARec: PMyRec);
begin
 ARec.Name := 'qwrfrwe';
 ShowMessage(ARec.Name);
end;


Корректно ли писать такой код? какие могут поджидать грабли?

ЗЫ: этот код работает


Ega23   (2006-06-06 14:04:00) [1]


> tesseract ©   (06.06.06 14:01) [3]
>
> а почему бы не


Ну мало ли что он там дальше с этим указателем делает? Может в список какой заводит?


tesseract   (2006-06-06 14:01:00) [2]


> procedure TForm1.FillRec(const ARec: PMyRec);

а почему бы не

procedure TForm1.FillRec(var ARec: TMyRec);

тоже корректно


Сергей М.   (2006-06-06 13:34:00) [3]


> Корректно ли писать такой код?


Вплоть до Д7 - вполне корректно. Далее - не знаю.


begin...end   (2006-06-06 13:32:00) [4]

Корректно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо