![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Использую свою DLL.
Загрузил, проинициализировал, из DLL получаю интерфейсный объект, провожу с ним работу, всё ок Удаляю объект (никаких ошибок, деструктор вызывается). После этого пытаюсь выгрузить Dll на этом падает.
с такой ошибкой --------------------------- Debugger Fault Notification --------------------------- Project Sample.exe raised too many consecutive exceptions: 'access violation at 0x00000000: read of address 0x00000000'. Process Stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- В библиотеке использую ShareMem. PS если убрать FreeLibrary, AV не появляется |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Конечно нигде больше не идёт
более того
PS Такое ощущение что сама система выгружает без ошибок. Т.к. без FreeLibrary, судя по ProcessExplorer утечки памяти не происходит PPS Действительно осводождает, но всё равно некрасиво убирать FreeLibrary Это сообщение отредактировал(а) SergSW - 30.7.2009, 09:44 |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Код целиком можно?
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Полностью привести код к сожалению немогу
Вот набросал тестовый примерчик на нём тоже самое получается
PS в тестовой удалось решить проблему убрав модуль ShareMem, почему он вызывает ошибку понять не могу. В рабочем варианте убрать не могу, при работе с объектами начинает валиться Это сообщение отредактировал(а) SergSW - 30.7.2009, 10:11 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
имхо не стоит в DllMain пихать CoInitialize/Uninitialize....
-------------------- There are always someone smarter than you... |
|||
|
||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
и без них валится
Это сообщение отредактировал(а) SergSW - 30.7.2009, 11:51 |
|||
|
||||
CodeMonkey |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
ShareMem присутствует первым модулем в dpr-файле? DllMain и жизнь до родов:
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
||||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
У меня не воспроизводится.
Проблемы начинаются только если неправильно подключать ShareMem. Если правильно или без него - всё работает. Какая версия Delphi? -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
||||
|
||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Попробовал вместо ShareMem использовать FastMM, теперь через раз падает... забавно
Поправлюсь! Падает теперь не на FreeLibrary а при выходе из программы, при условии что из библиотеки был получен хотябы один интерфейс. Поробую покопать мож где дважды уничтожить пытается Это сообщение отредактировал(а) SergSW - 31.7.2009, 11:12 |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Выложи лучше аттачем тестовый проект, на котором ошибка воспроизводится. Может что прояснится
-------------------- There are always someone smarter than you... |
|||
|
||||
SergSW |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 14.9.2006 Репутация: нет Всего: нет |
Собственно полный код и так выше приводил
ЗЫ В тестовом примере с FastMM не возникает а с ShareMem падает Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Это подключать не первым или только в одном проекте. Вы уж по ссылочкам-то не ленитесь гулять. Я их не просто так ставлю. Ну и зачем вы врёте? Вот ваш uses из Test.rar/Project1.dpr:
В каком месте здесь ShareMem? У вас в exe-проекте ShareMem вообще не подключен. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |