![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| z-END |
|
||||||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Необходимо в .exe вставить формы содержащтеся в .dll причем не как отдельные окна, а в контрол (TPanel, TPageControl и т.п.)
Имеется такая структура: main.exe subXX.dll (библиотеки содержащие TForm's) main.exe
subXX.dll
Вроде-бы все хорошо работает... но несовсем В DLLForm's не работают элементы, например: в DLLForm имеется RichEdit, при нажатии кнопки DLLForm.Button:
но загруженный текст не отображается в RichEdit, до тех пор пока не выполнить DLLForm.RecreateWND; а это уж очень некрасиво, т.к. перерисовывается все родительское окно из exe файла. Есть ли другие варианты решения этой проблеммы? -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
||||||
|
|||||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Попробуй инициализировать Application DLL - а. Т.е. создаешь проецдурку такого типа:
и пихаешь в Длл, используя ее перед юзанием втоей ДЛЛ. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Да.. все гениальное просто
тока теперь надо добавить в subXX.dll
и все заработает -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
Может тогда корректней вот так?:
var OldApp:TApplication; procedure InitApplication(App: TAppliaction); begin OldApp:=Application; Application:=App; end; procedure UnInitApplication; begin Application:=OldApp; end; В смысле возвратить dll-ке ее старый application, и уже потом выгружать? |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Unregistered дак все работает уже.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Вообщето-да
Hy a если че-то и неработает, то FreeLibararyAndExitThread и все И еслу уж быть точным, то в дллельке Application не инициализируется, ну покрайней мере я так думаю Если я неправ.... см ниже -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
| z-END |
|
|||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
Ну вот опять приколы
Все хорошо работало, пока на форму на поместил TOpenDialog, при выполнении .Execute создаются Threads которые при закрытии программы невыгружаются... и программа остается висеть в памяти... Чего делать? как бороться? непонятно -------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |