![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
NULL - это не ноль !!!. Не знаю, как в Дельфи, в С++ NULL принято считать пустым указателем, использующимся в API, в том случае, если он игнорируется при вызове функции. Чему он равняется я не знаю, но подозреваю, что NULL в С++ эквивалентен nil в Дельфи.
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Это сообщение отредактировал(а) Girder - 17.8.2004, 12:51 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| decoder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 18.5.2004 Где: Харьков(хохол, к сожалению) Репутация: нет Всего: -1 |
Ну-ну, Гирдер, напиши чё-нить типа GetDC(nil).
HWND - LongWord, а nil - Pointer!!! А NULL, ИМХО, - это универсальная функция, которая выдаёт nil или 0 или ещё чё-нить... --------------------
Молчать, я вас спрашиваю! |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 2 Всего: 71 |
Точно, вспомнил NULL - это что-то вроде макроса, меняющего свое значение в зависимости от типа:
-для численного типа, такого как Integer - 0 -для строки - это "" -для указателя - это (возможно) указатель на область памяти, зарегистрированной системой, другими словами указатель в никуда. А HWND - это самостоятельный тип, размером с двойное слово, грубо говоря LongWord, но NULL при нем, скорее всего определяется не нулем, как было бы в LondWord, а каким - нибудь зарегистрированным дескриптором. Можно конечно взять SoftIce и расковырять заранее подготовленную для этого программу на VC++, и узнать реалоное значение NULL HWND Однако стоит попытаться найти эквивалент NULL в дельфи для оконного дескриптора, возможно, что то-же самый nil им и является. |
|||
|
||||
| decoder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 18.5.2004 Где: Харьков(хохол, к сожалению) Репутация: нет Всего: -1 |
эквивалент --------------------
Молчать, я вас спрашиваю! |
|||
|
||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
В реальности это 0. nil = Pointer(0) Добавлено @ 22:39 Вот проверь как нить на досуге:
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Если уж говорить об универсальности, то лучше передавать 0 - в случае Pointer-параметра, 0 автоматом превращается в nil... А NULL <> nil - в качестве pointer'а не передашь...
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Girder |
|
||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Что есть Null(C++)?
И вообще Perchilla и decoder вы хоть английский знаете? Переведите просто енто слово на русский.
-------------------- Как слышим, так и пишим. Истина где-то там... |
||||
|
|||||
| decoder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 18.5.2004 Где: Харьков(хохол, к сожалению) Репутация: нет Всего: -1 |
2Girder
Null(c++)=Null(Delphi)! 2All Звыняйте, я вам какой-то странный код ДЛЛ-ки дал... Timring таймеров тама совсем не обнуляется... Я исправил так, как компилировал... Там Timring таймеров обнулялся сразу при вызове функции Timring... Я ж не знал, что стока сообщений сразу генерируется (попробовал в экзэшнике хук оформить)!!! Т.е. Timring таймеров тока труился, и сразу же фолсился... Кстати, попробовал воспользоваться советом хантера (сообщения в файл) - лучше бы не пробовал Это сообщение отредактировал(а) decoder - 19.8.2004, 20:12 --------------------
Молчать, я вас спрашиваю! |
|||
|
||||
| Girder |
|
||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
decoder погоди с отбоем. Возмем для примера функцию: GetDriveType - почитай внимательно её описание.
Рассмотрим простейший пример её использования. 1)Брось на пустую форму Memo и Button. 2)Пусть скомпилированная прога находится на DRIVE_FIXED 3)Объявим функцию следующим образом:
4)И на последок, не забудем:
Сам модуль:
Проверил результат? а теперь убери '//' и снова проверь. Если я не путаю, то Null в Delphi указывает на неизвестные или отсутствующие данные. Удачи. -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |