![]() |
|
|
![]()
|
|
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
Как динамически создать форму в DLL?
Все сделал, как надо (наверное ): 1. создал юнит с формой, объявил заголовок в основном юните ДЛЛ... 2. создаю форму по принципу DllForm = new TForm1(ProgForm), где: а) DllForm - форма объявлена как глобальная (в начале юнита) - TForm *DllForm = NULL; б) ProgForm - форма, присутствующая в приложении. Я ее объявляю родителем, чтобы при уничтожении основной формы (ProgForm) уничтожалась и моя форма. Пытаюсь создать форму при инициализации ДЛЛ, а потом показывать ее... Но форма показывается на пол секунды и закрывается (разрушается)... Что мне делать? |
|||
|
||||
| DjoNIK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 28.9.2006 Где: Питер/Георгиевск Репутация: нет Всего: 5 |
Как обычно здесь говорят - "Телепатов нет!!! Код в студию"
Возможно у тебя логическая ошибка (что скорее всего, раз форма создается. -------------------- - Плесни-ка мне холодного кипятку. - Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды? - Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку. (разговор петербуржца и москвича) |
|||
|
||||
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
под рукой сейчас нет BCB 6, поэтому напишу "на память"...
Мне необходимо создать окно при инициализации ДЛЛ, а не при вызове функции из программы... Программа, в которую я встраиваю DLL - не моя, поэтому я не могу вызывать функции... значит, мне необходимо создать форму как-то по-другому, например, при инициализации DLL... Но вот нигде не могу найти ответов - почему-то все рассматривают модальную форму, а мне надо, чтобы это была НЕмодальная форма... |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
При завершении потока уничтожаются все его окна. Если попробовать уничтожить форму, вывалится ошибка: "System Error: Неверный дескриптор".
Создавай поток и в нём форму и цикл обработки сообщений. Это сообщение отредактировал(а) 586 - 17.11.2007, 16:16 |
|||
|
||||
| fridkaratel |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 22.10.2007 Где: Error connect to MySQL Da... Репутация: нет Всего: нет |
а как?
|
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
DllForm = new TForm1(ProgForm);
DllForm->ShowModal(); |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |