Главная страница
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.013 c
14-5139
Le!
2003-01-10 08:36
2003.02.03
Люди посоветуйте!


1-5031
Mic_2000
2003-01-22 16:48
2003.02.03
Кто пользовался PReport`ом, помогите разобраться плиз


1-4872
Oleg_D
2003-01-24 20:06
2003.02.03
FlushInstructionCahce()


8-5090
pasha676
2002-10-22 08:59
2003.02.03
ФайрВаре и видео


1-4916
АндрейБ
2003-01-26 00:38
2003.02.03
работа со строками