-
Заметил что если убрать строки внедряющие шрифты: AddFontResource('eanbwrp36tt.TTF') ; SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ; то зависание пропадает. В чем может быть проблема? ОС блокирует внедрение шрифта?
P.S. Шевченко пиши конкретно если что не нравится.
-
sniknik © (04.10.17 08:29) [1] > С чем может быть связано такое поведение программы? так написано, поведение определяется написанием, скорее всего в событии создания форм у тебя длительные операции типа открытия баз/чтение из сети, инета/или любое другое. с базами кстати не обязательно в событии, достаточно в дизайн тайм открыть соединение/таблицу. ну и может быть где то взаимоблокировка в том же месте чего то.
внедрение шрифтов было прописано на создании гл.формы
-
тормозит скорее всего не внедрение, а рассылка сообщений... ну, по логике. ты же это всем окнам системы посылаешь.
+ не точно, не пробовал, но должно получиться, сделай в AddFontResource до создания форм (до Application.Initialize;) в файле проекта. тогда твои формы создадутся с уже присутствующим в системе шрифтом, и оповещать их будет не нужно. а формы вне твоего проекта... уверен что им этот шрифт нужен? пусть себе не знают.
-
http://pda.delphimaster.net/?id=1421592418&n=0> Все дело оказалось в SendMessage. Заменил SendMessage на PostMessage и приложение запустилось. верная догадка похоже, но вот менять SendMessage на PostMessage при том что можно убрать совсем, мне кажется неправильно.
-
>sniknik Я с трудом нашел что проблема в шрифтах, кучу всего при старте повырубал пока понял где траблы... )) Вообще процедура подключения шрифта уже не нужна, осталась по недосмотру, так-как не приводила к постоянным зависонам, а временами,что тоже оч.странно.. Так что теперь буду знать и коллегам по форуму можт пригодится...
-
-
Спасибо коллеги! Вопрос закрыт.
|