Главная страница
    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.016 c
4-1143525270
stas77
2006-03-28 09:54
2006.06.25
события windows


15-1149138054
Holy
2006-06-01 09:00
2006.06.25
Всех с праздником...


4-1143015386
EgorovAlex
2006-03-22 11:16
2006.06.25
Почему ReadPrinter читает с принтера максимум 64Кб данных за одну


2-1149413451
Krestinin
2006-06-04 13:30
2006.06.25
TStringGrid


2-1149704397
Mr tray
2006-06-07 22:19
2006.06.25
в каком модуле содержится MAKELANGID?





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