Загрузить поток блокировки пользовательского интерфейса DLL - PullRequest
1 голос
/ 07 декабря 2011

В моем приложении определенные DLL требуются только для определенных операций, которые не будут выполняться для 99,9% операций использования.Таким образом, чтобы сэкономить время и память, они загружаются динамически, как требуется, используя LoadLibrary.

. Чтобы держать пользователя в курсе, и программа, отвечающая на библиотеки, загружается в отдельный поток и затем уведомляет поток пользовательского интерфейсакогда они доступны, и процесс может продолжаться.

Однако в моих экспериментах, когда LoadLibrary работает, поток пользовательского интерфейса заблокирован, и очередь событий все равно не обрабатывается, что делает эту блокировку приложения, и экран больше не работает.redrawn.

MSDN на LoadLibrary не упоминает об этом поведении, возможно ли загрузить dll в один поток, пока очередь событий еще обрабатывается?

1 Ответ

1 голос
/ 08 декабря 2011

При асинхронной загрузке dll нет проблем, это было связано с отладчиком Visual Studio, который просматривал символы для вновь загруженных dll с серверов символов.

Когда серверы символов отключены или приложение работает безв отладчике нет блокировки при исполнении LoadLibrary

Debugging Symbols

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...