-
Привет. Есть проблема. Использую длл (плагин), одна из функций которой создаёт поток и форму в этом потоке. Форма рисуется на форме хост приложения. На этой форме я заметил что раскладка не переключается. Я поставил showmessage на WM_INPUTLANGCHANGEREQUEST и обнаружил, что сие уведомление приходит дважды! Один раз при нажатии ctrl-shift, второй раз - при отпускании. Скажите, в чём может быть дело, или почему в принципе такое может происходить? И ещё один момент. Если выключить "Дополнительные текстовые службы" в "языках и рег стандартах", то всё нормально. Т.е. уведомление приходит как ему и положено, один раз. Упреждаю некоторые вопросы: форма и поток - особенности реализации (тупой и совсем не моей), так что тут никак иначе...
-
> поток и форму в этом потоке
> Форма рисуется на форме хост приложения
Т.е. ты утверждеешь, что непосредственно перед
SomePluginForm := TSomePluginForm.Create(...)
условие
MainThreadId <> GetCurrentThreadId
истинно ?
И при этом вся эта петрушка с доп.потоками и VCL-формами в них успешно работает ?
"Не верю !" (с) К.С.С
-
Да, но формы не всл-ные... Да, действительно работает, и без косяков. Кроме вот этого. Впрочем, ладно. Решил вопрос по-другому.
Не смейтесь - специфика задачи такова, что без потока будет ещё хуже :) Это не моя система, она тупая, не спорю. Но не я же писал хост-программу...
-
> Да, но формы не всл-ные
А в ShowMessage, по-твоему, тоже нет VCL-форм ? Блажен кто верует)
|