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

Вниз

Как организовать хранение присваиваемых методов?   Найти похожие ветки 

 
Aleksandr ©   (2003-01-24 16:17) [0]

Суть задачи такова: у меня есть объект, который хранит в файле, создает и инициализирует колонки для DBGrid и поля для DataSet. Объект универсальный, то есть он не зависит от конкретных особенностей привязанных к нему гриды и датасета. В программе существует несколько датасетов, у каждого есть OnCalcFields, и у многих полей есть OnGetText. При этом в разных формах один и тот же датасет может быть одинаковым - например, в одной форме он является главным, а в другой - подчиненным к главному. Соответственно, получается, что в каждом модуле, где используются одинаковые датасеты, нужно дублировать код на OnCalcFields и на OnGetText. Как можно сделать так, чтобы при первом создании объект, управляющий информацией о датасетах, запоминал их свойства OnCalcFields и OnGetText, и в последующем при загрузке из файла сам находил и присваивал нужный метод для конкретного датасета и конкретных полей?


 
Романов Р.В. ©   (2003-01-24 16:34) [1]

Что то не понял для чего это. Может попробовать по имениполя или таблицы присвавать методы.


 
Aleksandr ©   (2003-01-24 16:52) [2]

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

А как по имени таблицы присваивать? Есть, допустим, глобальные процедуры OnCalcFields1, OnCalcFields2 и OnCalcFields3. В базовом классе формы объект-хранитель должен из файла прочесть, какую из них присвоить датасету. А как это сделать? Что-то наподобие как у списков есть универсальный Sort, в котором вызывается имя функции сортировки, только въехать я в него не могу...



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
1-4986
Johnny Split
2003-01-23 12:27
2003.02.03
Комбинации клавиш


3-4757
Valeris
2003-01-16 11:19
2003.02.03
Разработка косольного приложения


3-4770
qwerty2
2003-01-15 13:43
2003.02.03
QReport: Количество записей в группе


6-5098
kalishenko stas
2002-11-27 18:53
2003.02.03
Какой мой IP в Интернете?


14-5149
nikulin
2003-01-17 12:44
2003.02.03
Размер проги?