Forum Replies Created
-
AuthorPosts
-
v33vParticipant'Torbins' wrote:
v33v формы, созданные в dll, должны быть удалены до того как вы выгрузите эту dll-ку. Иначе гарантированный AV при попытке выполнить код класса формы уже выгруженный из памяти процесса.
Спасибо !
Со стандартными компонентами как то работает всё.
Но это тоже показатель.
Если форму запускать Модально а потом удалять всё работает конечно отлично.
Хотелось бы конечно что бы формы жили отдельно.
Но как говорится за всё надо платить.
v33vParticipant'Support' wrote:Здравствуйте. Спасибо за пример, я его скоро посмотрю.
Попробуйте скомпилировать Exe и Dll с использованием библиотек, подключаемых динамически.
Иначе, нужно передавать в Dll еще Application и Screen.
Всё скомпилировано динамически.
Если форму из DLL запускать в модальном режиме и после удалять, то всё нормально.
Иначе при закрытии основного приложения вылетает ошибка.
Если закрывать в отладчике выдаёт такое сообщение.
[attachment=4951:error.jpg]
grf_ugs- это моя ДЛЛ.
v33vParticipant'Torbins' wrote:Строки и пр. между экзешником и длл передаете? Вообще демка будет не лишней.
Строки передаю. в Демке строки не передаю.
Эффект тот же. Первый раз SkinManager активируется.
После отключения SkinManager и повторном запуске DLL и активации
SkinManager ничего не происходит.
P.S. Забыл на форму в демке кинуть SkinProvider.
При наличии SkinProvider в демо стало работать.
В Более сложной ДЛЛ. и при наличии SkinProvider. не работает.
Особенно если в ДЛЛ несколько форм.
Запутанно как то получается. Придётся эксперементировать.
v33vParticipant'Torbins' wrote:Какая у вас версия делфи? Рантайм пакеты используются?
У Меня Билдер 2010.
Рантайм не использую.
Та же ошибка была и в СB6.
Я делаю DLL. Когда в ДЛЛ несколько форм при закрытии основного приложения возникает эта ошибка.
Это Если не останавливать SkinManager.
Просто после остановки и повторном запуске DLL. SkinManager не запускается.
В обычном (не ДЛЛ) приложении всё прекрасно.
v33vParticipant'Support' wrote:Есть возможность заставить окно прорисовать все кнопки перед его показом, а потом сразу показать.
Для этого нужно покласть на окно TsSkinProvider в дизайне и проследить чтобы SkinManager.AnimEffects.FormShow.Active было True.
Попробуете этот вариант?
Спасибо попробую !
-
AuthorPosts