C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Приложение, Приложение с множеством форм
Pan-SQL
Отправлено: 28.04.2005, 13:01


Не зарегистрирован







Здравствуйте! Мое приложение имеет огромное количество форм. Вопрос в следующем: будет ли правильно, если я для более быстрой загрузки приложения перенесу все формы кроме главной из списка автоматически создаваемых форм (Auto-create forms) в спискок доступных форм (Available forms) и при открытии какой-либо формы динамически создавать ее? Заранее благодарю!!!!!!!!!!!!!!!!!
Sl@Sh
Отправлено: 28.04.2005, 13:04


Мастер участка

Группа: Участник
Сообщений: 383



Конечно. Хотя иногда динамически создают только те формы, которые очень редко используются.
avc*
Отправлено: 28.04.2005, 13:47


Не зарегистрирован







QUOTE
Хотя иногда динамически создают только те формы, которые очень редко используются.
А я кроме главной все формы создаю только динамически по мере надобности.
Vlad
Отправлено: 28.04.2005, 14:00


Машинист паровоза

Группа: Участник
Сообщений: 231



Можно часть держать в DLL, которую подружаешь и из нее формочки выводишь. Тем более что если много форм в проге, значит какая то часть из них используется редко, соотвественно их в DLL.
Sl@Sh
Отправлено: 28.04.2005, 15:49


Мастер участка

Группа: Участник
Сообщений: 383



QUOTE (avc* @ 28/04/2005, 13:47)
А я кроме главной все формы создаю только динамически по мере надобности.

Я тоже smile.gif Просто видел и читал такой вариант, что динамически создают например только форму, содержащую инфу о программе.

Библиотека кстати тем хороша, что форма (и всё, что на ней), не добавляет веса ЕХЕ.
Konstantine
Отправлено: 28.04.2005, 16:32


Мастер участка

Группа: Модератор
Сообщений: 545



не знаю будет ли правильно дополнить вопрос... ну всё же — а КАК собственно можно форму запихнуть в ДЛЛ и как её потом достать?
AVC
Отправлено: 28.04.2005, 16:51


Ветеран

Группа: Модератор
Сообщений: 1583



Элементарно Konstantine smile.gif
Я делаю так
Создаю пакет, включаю в него форму, создаю точку входа типа
PACKAGE aaa .....
TMYForm *frm = new TMyForm(Application);
(Стараюсь, что бы эта функция была самодостаточна.)
И дальше по обстоятельствам либо ожидаю конца закрытия формы, либо возвращаю указатель на этот экземпляр, либо ...

Konstantine
Отправлено: 28.04.2005, 17:14


Мастер участка

Группа: Модератор
Сообщений: 545



АVС, чесно говоря — вообще не понял sad.gif
если не трудно — кинь какой-нить проект... хоть с пустыми формами..
AVC
Отправлено: 28.04.2005, 17:27


Ветеран

Группа: Модератор
Сообщений: 1583



Завтра, хорошо?
olegenty
Отправлено: 29.04.2005, 07:07


Ветеран

Группа: Модератор
Сообщений: 2412



а я делал так (пример чуть устарел, он писался для creator'a, чтобы показать, как работать с формой из DLL)


User Attached Image Скачать файл
DllFormEx.zip


AVC
Отправлено: 29.04.2005, 08:19


Ветеран

Группа: Модератор
Сообщений: 1583



2Konstantine
Пример еще нужен, или хватит olegenty?
Deem
Отправлено: 29.04.2005, 14:41


Мастер участка

Группа: Участник
Сообщений: 327



У меня одиночные формы, типа диалогов, которые используются в разных местах одна штука, генерятся автоматически. А формы, которых может быть больше одного экземпляра (типа дочерних однотипных), генерятся по мере надобности.
Кстати, еще и притормаживать создание первых приходится, чтоб сплэш солиднее выглядел (и повисел подольше). smile.gif

Вернуться в Вопросы программирования в C++Builder