| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > FastMM4, TjvPlugin, BPL и разделение памяти |
| Автор: Bose 29.10.2006, 15:05 | ||
| Delphi 7. Создаю BPL плагин с помощью TjvPlugin Wizard из пакета JEDI VCL. В программе подгружаю с помощью TjvPluginManager. Если в проекте включен FastMM4 а в плагине - нет, то получаю AccessViolation(а то и зависание) в момент вызова ф-ции RegisterPlugin в плагине. Текст ф-ции:
В конфигурации FastMm4 включены все флаги отвечающие за разделение памяти. Если подключить FastMM4 и к плагину, и подгрузить из программы несколько копий этого плагина, то при загрузке каждого из них получаю сообщение о том, что "FastMM4" уже загружен и не может быть проинсталлен... (точного сообщения не помню, но если нужно - могу привести текст). И плюс, при закрытии приложения после этого намертво зависают Delphi. Проблема одна, а вопроса всё-таки 2(нелогично разносить по 2м темам): 1) Кто-нибудь сталкивался с подобным? 2) Нужно ли подключать дополнительные менеджеры памяти, чтобы создавать объекты в BPL и использовать в программе, или механизм работы BPL сам по себе поддерживает разделение? |
| Автор: Sansa 31.10.2006, 16:21 | ||
| Я с таким сталкивался. Действительно, если не выгружать плагины, то выходим на Access Violation. Менеждеры памяти необходимо использовать, если в библиотеку передаются строки, а не PChar. К сожалению не помню, что передает TjvPlugin при вызове, а посмотреть негде. И ишо. Когда я в плагин пытался встроить форму, то без конструкции в плагине вида:
... те же грабли. |