Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Траблы с ДЛЛ!


Рекомендуемые сообщения

Господа, умеющие программировать в Visual C++, помогите пожалуйста. У меня такая проблема: я создал DLL'ку типа динамическое расширение MFC. В нее я поместил диалог, обладающий некими контролами. Диалог также обладает Pictur'ами. Я не экспортирую весь класс этого диалогового окна, а экспортирую лишь одну функцию, которая создает объект на этот класс и вызывает его через DoModal. Из использующего приложения я ловлю эту функцию при помощи LoadLibrary и GetProcAddress. Так вот, приложение и DLL я компилю как Release. Момент загрузки библиотеки и выполнения ее функций происходит в какой-то момент времени (т.е., допустим, когда юзер выполнит какие-нибудь действия, например, нажмет кнопку). Библиотека нормально загружается, нормально выполняет свои функции, затем, отработав, выгружается с помощью FreeLibrary. Ничего не вызывает никаких ошибок. НО! Но если юзер нажмет эту кнопку 10 раз, т.е. 10 раз загрузится и выгрузится эта библиотека, вот тут-то и начинаются офигенные траблы! На 11 раз библиотека тоже нормально загрузится, тоже без ошибок найдет функцию запуска диалогового окна, сидящего в DLL, даже загрузит это окно. Но с окном произойдут следующие изменения: System menu у этого окна не появится вообще, половина картинок, вставленных в этот диалог тоже не отобразятся! Выгружается библиотека в 11 раз тоже без ошибок. И так далее, в 12 раз, в 13 раз и т.д. - это окно будет криво отображаться! Может я чего не так сделал? Или может кто-то сталкивался с аналогичной проблемой?

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...