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