|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.09.2009, 11:48 | #1 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
Изменяемые компоненты формы хранить в плагинах или подключаемых файлах?
Нужен совет о том, как лучше организовать форму приложения.
Само приложение работает так. Есть несколько разных sql-запросов к БД. У каждого запроса могут быть свои параметры. Эти параметры буду вводиться при помощи различных визуальных компонент типа TEdit, TChekBox, TUpDown и т.п. В зависимости от запроса и от количества параметров соответственно этим компоненты разнятся. В том случае, когда этих запросов 4-5, то все можно было бы сделать, например через TPageControl, расставить для каждого запроса компоненты, и жить счастливо. Но количество разных вариантов запросов растет с каждым днем. При запуске программы, программа должна просканировать соответствующий каталог, выяснить список тех форм (или как это лучше обозвать, список плагинов, дополнений, приложений) которые она будет обрабатывать, и на основании этого списка формируется меню. Затем, жму в меню нужный пункт, и у меня на форме появляются нужные кнопки и компоненты, а sql-запрос хранится в какой-то переменной. Ну и далее по смыслу запроса что-то делается и выводится. Стоит вопрос, как это лучше организовать, чтобы не переделывать каждый раз приложение. Есть такие варианты: 1) Делать плагины. Создал dll и подбросил в каталог с плагинами. Но мне кажется, что задача намного проще, чем использование dll. 2) Хранить описание нужных компонентов в ini, txt или xml файлах. 3) Ваш вариант …. )))))))))
и не забудьте подарить детям шоколадку
|
11.09.2009, 12:11 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Тогда так: в папку с экзешником прикрепляй BPL (ну или ДЛЛ на худой конец) с формой нужной, и ее обработчиками. В цикле проходи, подключай эти файлы как и задумал
I'm learning to live...
|
|
11.09.2009, 12:20 | #3 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
В целом правильно. Но, походу, кнопка будет одна с однинаковым набором действий для всех запросов. Т.е. она будет запускать запрос на выолнение и выводить рельтат в грид. Соттветсвенно грид и кнопку можно сделать стационарными и не менять.
А на счет ДЛЛ. Мне бы хотелось не подгружать нужную форму целиком, а сделать иначе. Есть три стационарных компоненты: 1) Грид, 2) кнопка с общим дейтвием для всех запросов, и 3) чистая панель, на которую я буду расставлять подгружаемые компоненты. Вот так вот как-то хотелось бы....
и не забудьте подарить детям шоколадку
|
11.09.2009, 12:29 | #4 | |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Ну, если не хотите делать это через dll, то придется Вам самому писать обработчик "описания нужных компонентов в ini, txt или xml файлах".
Динамически выстраивать компоненты и т.д. Только вот действия компонент(по нажатию кнопки, допустим) у вас не получатся... Цитата:
Познавая других, мы познаем себя.
С'est la vie... |
|
11.09.2009, 12:46 | #5 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
да, щаз еще чуток подразобрался, походу в библиотеках это будет удобнее
и не забудьте подарить детям шоколадку
|
11.09.2009, 13:16 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Пусть селекты хранятся в ИНИ файле, и оттуда их и выбирай.
I'm learning to live...
|
|
11.09.2009, 13:19 | #7 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
не все, третий компонент, "панель", он стационарный, но на него я хотел в зависимости от задачи размещать динамически компоненты......
ну или, если длл, то тогда уже открывать модальные формы, созданные в этих длл
и не забудьте подарить детям шоколадку
|
11.09.2009, 13:40 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
11.09.2009, 13:55 | #9 |
Форумчанин
Регистрация: 23.01.2009
Сообщений: 107
|
каким образом натянуть фрейм на понель?
для формы я в ДЛЛ-ке писал функцию function MShowForm : Integer; stdcall; var Form : TForm1; begin Form := TForm1.Create(Application); Result := Form.ShowModal; Form.Free; end; Для фрейма .ShowModal разумеется это не прилепишь.
и не забудьте подарить детям шоколадку
|
11.09.2009, 17:14 | #10 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Код:
программа — запись алгоритма на языке понятном транслятору
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование подключаемых модулей | Ольг | Помощь студентам | 6 | 31.07.2009 17:17 |
Скрыть компоненты, изменив размер формы | Hollander | Общие вопросы C/C++ | 5 | 28.01.2008 18:39 |
VB код сворачивания формы в трей, или просто свернуть | sqvair | Помощь студентам | 4 | 04.01.2008 20:21 |
при изменении размера формы, все компоненты на ней оставались на своих местах | ***СкаЙ*** | Помощь студентам | 15 | 13.06.2007 11:13 |
можно ли использовать визуальные компоненты, если у приложения нет формы? | Holly1444 | Общие вопросы Delphi | 8 | 19.11.2006 16:21 |