|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.09.2011, 14:31 | #1 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
PostMessage и тип Integer параметров WParam/LParam
Всем добрый.
Скажите пожалуйста, является ли этот код опасным? Код:
Есть подозрение, что в выделенном фрагменте кроется потенциальная оошибка преобразования типов: Pointer - это указатель, но какого диапазона? Если от 0 до 2 млрд (Integer), тогда код рабочий. Если от 0 до 4 млрд (Cardinal или DWORD), то вероятность успеха сомнительна... Скажу сразу, что код работатет... или мне просто везет?
"ковыряю изнутри" (с)
|
20.09.2011, 17:20 | #2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Если этот код и опасем, то совсем по иной причине - по невнимательности программиста, могущего допустить при этом утечку памяти.
А в приведении типа в дан.случае никакой опасности нет. Единственное (не существенное в данном контексте) замечание - корректнее и целесообразнее приведение указателя к типу WPARAM > Если от 0 до 4 млрд Выше 2 млрд этот указатель при всем желании не будет указывать. Последний раз редактировалось mss; 20.09.2011 в 17:23. |
20.09.2011, 20:05 | #3 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
Огромное спасибо! о таких псевдотипах даже и не знал, учту.
Самое главное, что не более 2 млрд, ну вообще как бы логично, ведь процессу достается 2 гб виртуального адресного пространства. Просто было сомнение что 32 бит это 2^32=4 млрд и больше чем Integer. Но оказалось все гуд. Спасибо)
"ковыряю изнутри" (с)
|
20.09.2011, 22:24 | #4 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
Какой же это псевдотип ?
Самый что ни на есть обычный тип. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WPARAM wParam, LPARAM lParam, LPVOID *lpParam | mizantrop32 | Win Api | 2 | 18.02.2011 12:10 |
две задачи на тип INTEGER и тип CHAR | inspiron13 | Помощь студентам | 5 | 04.01.2011 00:17 |
две задачи на тип INTEGER и тип CHAR | inspiron13 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 04.01.2011 00:08 |
WPARAM wParam, LPARAM lParam откуда берётся? | Garic_ | Общие вопросы C/C++ | 4 | 09.06.2010 22:42 |
можно тип переменной word преобразовать в integer | мандарин | Общие вопросы Delphi | 7 | 01.06.2007 20:04 |