Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Взываю к коллективному разуму Мастеров! Работаем в динамике.   Найти похожие ветки 

 
Bezsonov Yuri ©   (2004-01-09 11:47) [0]

Приветствую Всех!
С увеличением количества таблиц в БД растет и количество форм в проекте. И со временем назревает необходимость в динамическом формировании интерфейса приложения (меню, формы и т.д.) на основании данных а БД.
И при попытке создания такого приложения-конструктора возникает много вопросов. Но наверно у многих в практике возникали подобные проекты и есть наработанные решения или идеи, может кто подскажет?
И если с самими данными и их отображением динамически все достаточно понятно, просто требует хорошей проработки структуры таблиц для метаданных, то к вопросу где и как хранить обработчики событий не очень понятно как и подойти.
У кого какие есть идеи? Может есть уже отработанные технологии? или эта затея бесперспективна?


 
Sergey13 ©   (2004-01-09 11:50) [1]

2Bezsonov Yuri © (09.01.04 11:47)
>И со временем назревает необходимость в динамическом формировании интерфейса приложения (меню, формы и т.д.) на основании данных а БД.
У меня не назревает. ИМХО, это тупик. Чем это лучше то?


 
rootim   (2004-01-09 11:53) [2]

>или эта затея бесперспективна?
скорее всего так и есть...
Конструктор имхо можно и нужно использовать, например для поиска.. или что-то подобное.
Лично я не нагромождаю кучей формочек в один проект, делю функционал на АРМ и пишу модулями, которые при необходимости можно соединять в под одним приложением.


 
Bezsonov Yuri ©   (2004-01-09 12:28) [3]

некоторые возможные преимущества такого подхода в том, что не нужна постоянная перекомпиляция проекта, т.е. изменения можно вносить непосредственно у заказчика.
И даже если идея полной динамики бесперспективна, то как вы поступаете с кучей одинонакых справочников типа REC_ID NAME SHORT_NAME, которые различаются только информацией, сливаете все в одну табличку или как?


 
Academic ©   (2004-01-09 12:37) [4]

Я думаю, что выход в создании отдельных тематических АРМ со связью по базе данных.


 
Nikolay M. ©   (2004-01-09 12:44) [5]

Как вариант - хранить новые формы в dfm-ках на сервере, а функционал - в дллках или СОМ-объектах, тоже хранящихся на сервере и подтягивающихся по мере надобности.

Но, ИМХО, это все высасывание проблем из пальца на ровном месте.


 
Bezsonov Yuri ©   (2004-01-09 12:46) [6]

а если пишется программа для хранения информации структура которой заранее не определена, например, хранилище документов. В котором для каждого отдела параметры ихнего хранилища (набор полей), разные и определяются заказчиком по мере создания. Как быть в таком случае?


 
int64   (2004-01-09 12:46) [7]

Можно юзать XML. На ibase.ru был пример.


 
HSolo ©   (2004-01-09 12:49) [8]

> как вы поступаете с кучей одинонакых справочников типа REC_ID NAME SHORT_NAME, которые различаются только информацией, сливаете все в одну табличку или как?

Например, так: делаем форму - обработчик всех таких справочников. У нее есть private-переменная - имя таблицы; если поля во всех справочниках называются единообразно, то этого достаточно. Переопределяем конструктор, чтобы он принимал параметр - имя таблицы и укладывал его в ту самую переменную. Запросы на insert/update/delete/refresh формируем в run-time (в OnCreate, к примеру); настройки отображения - по вкусу :)


 
Bezsonov Yuri ©   (2004-01-09 12:54) [9]

если хранить в БД формы, то это действительно приобретение проблем, но вся идея в том чтобы формы генерились на основе базовой формы в проекте и метаданных в БД


 
Academic ©   (2004-01-09 13:15) [10]

Не может быть абсолютных программ, учитывающих все. Если заказчик требует этого, то он сам не знает что хочет.


 
Bezsonov Yuri ©   (2004-01-09 13:17) [11]

to HSolo >
а если справочник отличается от базового, то для него делаем отдельную форму в проекте или все таки как-то динамически?


 
Alex_Bredin ©   (2004-01-09 13:24) [12]

я, например, с формами-справочниками вообще не парюсь- давно написана процедура, которая в качестве параметра получает датасет,который надо редактировать, анализирует его структуру, и динамически создает форму с нужными компонентами(boolean-DBCheckBox,string- DBEdit, итп).
Получается очень прилично.
Удачи


 
Bezsonov Yuri ©   (2004-01-09 13:24) [13]

Я и не хочу программу учитывающую абсолютно все. Просто если есть задача написать для каждого отдела хранилище документов, но у каждого из них свои параметры (для секретаря входящие/исходящие и пр., для технарей - полка, инв. номер и пр), то не перспективнее ли написать движок, который будет визуализировать описанные в БД метаданные?


 
Bezsonov Yuri ©   (2004-01-09 13:32) [14]

to Alex_Bredin © (09.01.04 13:24) [12]
а если у справочника есть ссылки на другие справочники, которые должны заполнять dbComboBox, то вы тоже это реализуете динамически или это работает только для простых таблиц вида select * from table?


 
Academic ©   (2004-01-09 13:33) [15]

Описать в базе данных структуру форм, события, создать какой-то язык для настройки этих данных много тяжелее, чем разратотать конкретную небольшую программу для определенного рабочего места.


 
Alex_Bredin ©   (2004-01-09 13:36) [16]


> Bezsonov Yuri © (09.01.04 13:32) [14]
> to Alex_Bredin © (09.01.04 13:24) [12]
> а если у справочника есть ссылки на другие справочники,
> которые должны заполнять dbComboBox, то вы тоже это реализуете
> динамически или это работает только для простых таблиц вида
> select * from table?


это тоже динамически.Это нетрудно- главное правильно описать метаданные


 
Bezsonov Yuri ©   (2004-01-09 13:40) [17]


> Academic © (09.01.04 13:33) [15]
> Описать в базе данных структуру форм, события, создать какой-то
> язык для настройки этих данных много тяжелее, чем разратотать
> конкретную небольшую программу для определенного рабочего
> места.


это если программа небольшая и таких программ не много, а вот если это идет на поток, тогда конструктор наверное бы помог.


 
Bezsonov Yuri ©   (2004-01-09 13:55) [18]


> to Alex_Bredin © (09.01.04 13:36) [16]

вы в метаданных описываете только названия полей для отображения или как-то храните сам текст запроса для выборки/редактирования или все разбираете на основании данных таблицы которую редактируем?


 
Alex_Bredin ©   (2004-01-09 14:49) [19]


> Bezsonov Yuri © (09.01.04 13:55) [18]


стучитесь в аську - все обсудим



Страницы: 1 вся ветка

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.021 c
1-2224
Goida
2004-01-20 15:50
2004.02.02
Рамка таблицы в Word.


1-2104
mixa
2004-01-19 19:41
2004.02.02
Очень быстрый цикл.


14-2279
Empleado
2004-01-09 11:32
2004.02.02
Импорт в регистр


4-2406
TuronixL
2003-11-25 18:37
2004.02.02
Проблемы с CreateProcess


3-1971
Veetoyk
2004-01-10 13:07
2004.02.02
Объясните пожалуйста, ......