Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-5220
sosv
2003-01-14 15:09
2003.02.03
Перевод программы


14-5179
Supreme
2003-01-15 22:21
2003.02.03
Очень важные вопросы!


4-5323
z0ne
2002-12-15 16:35
2003.02.03
проблема со масштабированием шрифтов


1-4837
waw
2003-01-22 17:37
2003.02.03
Как вывести окно свойства файла?


1-5001
Valeris
2003-01-23 16:42
2003.02.03
Функция замены одного символа на другой




   Наверх