![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Undeclared identifier: Null [D7, XP]
Новичек © (2007-06-11 15:39:00)Господа Знатоки, почему при вызове API'шной функции при значении одного из параметров 'Null' я получаю сабж?
Спасибо.
Однокамушкин (2007-06-11 21:47:00) [1]
> Новичек © (11.06.07 16:37) [6]
>Странная реализация в Delphi
Ха! В Дельфи странная реализация! Это в С++ она странная! Настолько странная, что сам создатель языка разобраться не может... в первом издании своей книги по С++ Страуструп писал, что для "пустых" указателей лучше не использовать 0, хотя компилятор этого не запрещает, лучше использовать NULL, а в третьем издании писал, что NULL - это только для обратной совместимости, а так лучше это слово не использовать, а писать 0 (про второе издание не знаю, не попадалось)...
> Desdechado © (11.06.07 18:54) [9]
> NULL - это вполне себе адресный ноль, типизированная константа.
Какая ж это константа, да ещё и типизированная? NULL - это макроопределение, см. Sergey Masloff (11.06.07 18:15) [7]
Desdechado (2007-06-11 18:54:00) [2]> Null в СИ это ноль
NULL - это вполне себе адресный ноль, типизированная константа. Что непонятного?
Anatoly Podgoretsky (2007-06-11 18:42:00) [3]Null в СИ это ноль, а не Varuants.Null, и не nil, и не Null в ДБ, и не определенное значение как это принято, ну посчитали разработчики, что им более подходит NULL ну и поимели постоянные проблемы с этим, им из-за этого пришлось в OLE придумывать новое название.
Sergey Masloff (2007-06-11 18:15:00) [4]Новичек © (11.06.07 16:37) [6]
>Странная реализация в Delphi :-)
см. windef.h
#define NULL 0
Чего странного? Или так просто хотелось что-то сказать?
Новичек (2007-06-11 16:37:00) [5]2 Плохиш: Была у меня такая мысль, да отбросил :-(
Сейчас попробовал - работает. Странная реализация в Delphi :-)
Спасибо большое!
Плохиш (2007-06-11 16:33:00) [6]
> Новичек © (11.06.07 16:20) [2]
> nil применим к указателям. А, например, в функции SetTimer
> первым параметром (типа Handle) может быть Null
0
Новичек (2007-06-11 16:26:00) [7]2 Ega23: Но ведь Null там является функцией? А как использовать классический сишный Null? Спасибо.
Ega23 (2007-06-11 16:21:00) [8]uses Variants
Новичек (2007-06-11 16:20:00) [9]nil применим к указателям. А, например, в функции SetTimer первым параметром (типа Handle) может быть Null, но не проходит почему-то :-(
Что интересно, этот пресловутый Null используется повсеместно, а в Delphi его почему-то нет. Странно.
Desdechado (2007-06-11 16:15:00) [10]nil