Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Зависает окно после переключения языка


Автор: hawkins 16.4.2011, 09:12
Такая проблема, сталкиваюсь уже второй раз.. Зависает окно программы после переключения раскладки клавиатуры с англ на русскую (наоборот нормально). У программы есть еще поток (в потоке делается парсиг сайта). И инетерсно что зависает только если запущен поток, если не запущен то зависания нет.
Зависает тоже странно, за заголовок таскать можно, а кнопки и другие контролы формы ни на что не риагируют и песочные часы висят.
Чуствую что-то связанно с сообщениями виндоуз, может в делфи компонентах косяк какой-то есть.

Какое сообщение виндоус посылает при переключении раскладки клавиатуры ? 

В потоке использую движок IE для парсинга сайта (юзаю всякие интерфейсы IHTMLDocument2, IHTMLElement и т.д.), может в этом причина..

Автор: kami 16.4.2011, 13:04
Цитата(hawkins @  16.4.2011,  09:12 Найти цитируемый пост)
может в делфи компонентах косяк какой-то есть

может smile у визуальных компонентов аллергия на обращение к ним из доп. потоков.

Автор: hawkins 17.4.2011, 10:20
обращения к визуальным компонентам из потока на прямую нету, только через Synchronize в Memo на главной форме скидываю сообщения иногда..

Автор: 0x0027 17.4.2011, 13:36
повторю свое предположение - а если отключить пунто свитчер?

Автор: Snowy 18.4.2011, 11:10
Поставь юникодную версию дельфи (2009 или выше).
Это избавит от проблем перекодирования строк и программе будет всё равно, какой язык включен.

Автор: hawkins 20.4.2011, 19:05
пунто свитчер не установлен и  других подобных прог. На другой машине, у другого человека тоже виснет, правда другой парсер, но аналогичный по сути - главное окно с настройками и поток с парсингом сайта. А этот парсер совсем простой.

Можно конечно перенести на D2010, но мне в 2007 как-то привычнее, и куча компонент установлено и вообще много парсеров на 2007 написано. Просто раньше не замечал такого глюка. И не похоже чтобы это перекодирование какое-то вызывало. 
Интерфейс проги мгновенно виснет, в любой момент при переключении раскладки, если запущен поток. В потоке еще компоненты indy10 юзаются... 

Ну видимо придется отключать разные куски кода в потоке и наверное найдется источник проблемы, просто руки не дошли пока ) .

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)