|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.11.2012, 01:23 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
procedure ..(var msg:TMessage); message MY_MSG; отрабатывает 1 раз!?
Доброго времени!
Имеется собственное оконное сообщение(регистрируется в конструкторе формы), и на него стоит хук. Конструктор формы: Код:
Код:
Во второй и 3-й раз, в него даже не заходит отладчик. |
13.11.2012, 01:42 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
там помоему надо добавлять inherited, правда не помню в начале или в конце.
и так же, зачем проверка на тип сообщения? у вас же обработчик строго оного. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.11.2012, 15:38 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Код:
Даже если бы это было не так, все равно сообщение доходило бы до меня, но дальше не шло. Однако, этого не происходит вообще. Хук срабатывает 1 раз, за 1 запуск ПО и больше не отрабатывает. |
13.11.2012, 15:44 | #4 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
может wm_copydata?и mutex? отлично срабатывает всегда...
|
13.11.2012, 16:29 | #5 | |||
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
Цитата:
Цитата:
MY_MSG := RegisterWindowMessage('MY_MSG'); А его-то как раз и нет, код зарегистрированного сообщения благополучно похерен, так что непонятно как это вообще работате хотя бы 1 раз. Цитата:
//Если это первый экземпляр ПО |
|||
13.11.2012, 17:37 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Код:
Далее как правильно регистрировать свое сообщение? Точнее у меня есть переменная vMY_MSG:THandle в неё я регистрирую RegisterWindowMessage('MY_MSG') КАк второму приложению узнать, какую команду послать? |
13.11.2012, 21:52 | #7 | |
Форумчанин
Регистрация: 11.04.2012
Сообщений: 212
|
Цитата:
|
|
14.11.2012, 18:58 | #8 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Кто-нибудь направит на путь истинный?
Есть сабж с RegisterWindowMessage: Цитата:
|
|
16.11.2012, 22:41 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Такс, отказался от RegisterWindowMessage.
Просто задал константу WM_USER + какое-то число; Создал пустую форму, в конструкторе которой: Код:
Код:
В IsAlreadyIsRunning в aResult каждый раз новые числа лезут, а должно быть одно и тоже. Может я не правильно читаю оттуда? |
17.11.2012, 14:17 | #10 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Чем вас mutex'ы не устраивают?Я их предложил уже давненько..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SendMessage параметр msg | Fatal Error | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 22.06.2012 19:05 |
var p:procedure | Кольша | Мультимедиа в Delphi | 4 | 04.01.2012 21:36 |
The message resource is present but the message is not found in the string/message table | Apokal | Win Api | 0 | 19.05.2011 18:06 |
jbutton.setEnabled не отрабатывает | sashonk | Общие вопросы по Java, Java SE, Kotlin | 1 | 27.11.2010 07:04 |
TMessage для кнопки | spamer | Общие вопросы Delphi | 14 | 17.08.2009 23:08 |