Главная страница
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.052 c
9-4695
Whitewolf
2002-03-26 13:12
2003.02.03
Графические движки. Что выбрать?


1-4924
sumrak
2003-01-26 00:53
2003.02.03
монетарный формат


14-5245
Axis_of_Evil
2003-01-16 15:55
2003.02.03
Delphi и сайты


4-5350
anod
2002-12-13 14:46
2003.02.03
Kak videlit stroku v Listbox


1-4911
Shuma
2003-01-25 22:24
2003.02.03
Минимизация формы