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

Вниз

Динамическое создание и удаление полей   Найти похожие ветки 

 
DelphiLexx ©   (2007-03-27 13:16) [0]

Я хочу сделать так:
среди всех полей у меня есть динамическое число полей(точное число этих полей определяется на этапе работы программы) типа fkCalculated. Перед открытием FIBDataSet"a в BeforeOpen создается нужное число таких полей. Остальные поля (ME_ID, ME_NAME, ME_DESCRIPTION)
формируются из БД после выполнения FIBDataSet.Open.
Но вместо этого у меня получается следующее:
когда я начинаю обращаться к FIBDataSet.FieldByName("ME_NAME").AsString мне выдается сообщение что поле ME_NAME не найдено. Если перед открытием DataSet"a в BeforeOpen не создавать вычисляемые поля, то обращение к FIBDataSet.FieldByName("ME_NAME").AsString ошибок не вызывает.
Так как же правильно создавать в real-time расчитываемые поля.


 
Reindeer Moss Eater ©   (2007-03-27 13:21) [1]

Перед открытием руками формировать список TFielddefs после чего руками создавать зкземпляры.


 
DelphiLexx ©   (2007-03-27 13:41) [2]


> Перед открытием руками формировать список TFielddefs после
> чего руками создавать зкземпляры.

Т.е. все поля я должен создать в ручную.


 
Jan   (2007-03-27 14:12) [3]


> Т.е. все поля я должен создать в ручную.

а ты думал программировать это только компоненты на форму класть?


 
evvcom ©   (2007-03-27 14:19) [4]

Ну необязательно. Я, например, наследника написал и горя теперь не знаю.
procedure TMyDataSet.CreateFields;
begin
 inherited CreateFields;
 if not (csDesigning in ComponentState) then begin
   DoDataSetEvent(dseCreateFields);
   if Assigned(FOnCreateFields) then
     FOnCreateFields(Self);
 end;
end;

Идея, надеюсь, понятна?


 
ANB ©   (2007-03-27 14:34) [5]


> а ты думал программировать это только компоненты на форму
> класть?

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


 
evvcom ©   (2007-03-27 14:42) [6]

> [5] ANB ©   (27.03.07 14:34)

Эт точно! (c) Сухов.


 
Johnmen ©   (2007-03-27 14:59) [7]

http://sql.ru/forum/actualthread.aspx?tid=410050



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
2-1180442761
pathfinder
2007-05-29 16:46
2007.06.17
Наследование от базового класса.


2-1180015207
Я Гость
2007-05-24 18:00
2007.06.17
ADO + paradox + cp1251


1-1176910471
mr.sokolOFF
2007-04-18 19:34
2007.06.17
HTML-тэги


3-1174901355
Sinus
2007-03-26 13:29
2007.06.17
Реализация бизнес логики приложения


15-1179475698
codecleaner
2007-05-18 12:08
2007.06.17
О пользе стандартов...