![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Корректно.