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

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

Что означает данный параметр? [D7, XP]


Новичек ©   (2005-12-02 09:26:00) 

Уважаемые Мастера, объясните, пожалуйста, что означает Pointer(nil)^?
Я в недоумении :-(


GuAV   (2005-12-02 12:06:00) [1]

передача var параметра с т.з. получаемого машинного кода иднетична передачи параметра-указателя.

Это - почти одно и то же:
procedure zzz(var X: Integer);
procedure zzz(X: PInteger);


Однако, во втором случае можно ещё передать nil.

Функции WinAPI объявляют вторым способам, если она может принять nil, иначе обычно первым способом.

Для передачи nil-указателя в var параметре используют Pointer(nil)^ . Заметьте, что разименование фактически не происходит, если оно указано для указателя, переданного var параметру, иначе код давал бы AV перед вызовом подпрограммы.


Reindeer Moss Eater   (2005-12-02 11:43:00) [2]

Какой же это указатель? Там же разыменование.

Это кусок памяти, расположенный нигде.


Новичек   (2005-12-02 11:32:00) [3]

А почему бы этот указатель просто не обнулить?


Плохиш   (2005-12-02 11:27:00) [4]


> Новичек ©   (02.12.05 11:13) [4]
> Да, я смотрел. Мне стало интересно, что же все-таки имелось
> в виду

Указатель на несуществующий буффер.


Новичек   (2005-12-02 11:13:00) [5]

Да, я смотрел. Мне стало интересно, что же все-таки имелось в виду...


icWasya   (2005-12-02 10:42:00) [6]

Ну а если посмотреть на двадцать строчек выше, то увидите, что если второй параметр равен минус один, то первый не используется.


Новичек   (2005-12-02 10:10:00) [7]

Это взято из файла ScktComp.pas, поставляемого с исходниками Delphi/


Reindeer Moss Eater   (2005-12-02 10:07:00) [8]

Означает примерно следующее:  "поди туда, не знаю куда, принеси то, не знаю что"

В каком выражении это вообюще используется?


Наверх

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