![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Zmiy |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 3.3.2007 Репутация: нет Всего: 2 |
Объясните, пожалуйста, чем отличается
от
. |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
на мой взгляд разницы особой нет. разве что принято все-таки использовать GetMessage в цикле выборки сообщений...
ну и оба примера содержат по крайней мере одну ошибку. разницу между Peek и Get Message знаешь? на всякий случай: You can use the PeekMessage function to examine a message queue during a lengthy operation. PeekMessage is similar to the GetMessage function; both check a message queue for a message that matches the filter criteria and then copy the message to an MSG structure. The main difference between the two functions is that GetMessage does not return until a message matching the filter criteria is placed in the queue, whereas PeekMessage returns immediately regardless of whether a message is in the queue. по поводу ошибки - никак не анализируется ложный вариант(0) значения функции GetMessage... который означает, что в из очереди извлечено сообщение WM_QUIT... и надо бы заверщить приложение(цикл выборки). ну и замчание - ...if GetMessage() = True... зачем сравнение с True? -------------------- There are always someone smarter than you... |
|||
|
||||
| Zmiy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 3.3.2007 Репутация: нет Всего: 2 |
Но у меня в оконной функции при получении сообщения WM_DESTROY устанавливается положительное значение переменной Exit_prog. Ну да, в принципе незачем. А нет такого, что getMessage читает сообщения, которые не читает peekMessage? Возможно это глупость, но я просто слышал такую вещь, хотя на практике не замечал. |
|||
|
||||
| Zmiy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 3.3.2007 Репутация: нет Всего: 2 |
В общем, спасибо, вопрос снят, похоже, что первый код использовать просто бессмысленно.
|
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
А у меня возникла такая проблема.
Обработка сообщений идет в цикле GetMessage. Но перед запуском цикла у меня создается компонент IdIRC. Компоненту я задаю событие OnMessage. Но при запуске программы код внутри процедуры обработки события OnMessage не возникало. Кто то подсказал мне, что это гдюк Delphi и чтобы все работало нужно программу запускать непосредственно из проводника, а не по нажатию на F9 в Delphi. Но даже такой способ запуска не решил проблему. Мой код:
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
и вообще отдельную тему заведи Это сообщение отредактировал(а) MetalFan - 5.3.2007, 08:36 -------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |