Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

Record и указатель на Record   Найти похожие ветки 

 
StriderMan ©   (2006-06-06 13:31) [0]

Вопрос такой. Есть тип 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;


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

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


 
begin...end ©   (2006-06-06 13:32) [1]

Корректно.


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


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


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


 
tesseract ©   (2006-06-06 14:01) [3]


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

а почему бы не

procedure TForm1.FillRec(var ARec: TMyRec);

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


 
Ega23 ©   (2006-06-06 14:04) [4]


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


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



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

Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
2-1149314370
Тимофеич
2006-06-03 09:59
2006.06.25
pos or posex


6-1139889800
Интересующийся
2006-02-14 07:03
2006.06.25
Как поставить и прочитать кук при помощи TServerSocket?


2-1149263829
ZV
2006-06-02 19:57
2006.06.25
Start


3-1146403124
Berezne
2006-04-30 17:18
2006.06.25
Проверка на количество введенных символов


15-1148881568
Ega23
2006-05-29 09:46
2006.06.25
С Днём рождения! 29 мая





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский