Главная страница
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.016 c
2-1180291791
ppcumax
2007-05-27 22:49
2007.06.17
Перевод секунд в Часы:Минуты:Секунды


11-1162491929
karl
2006-11-02 21:25
2007.06.17
snow (schnee)


15-1179837326
vitv
2007-05-22 16:35
2007.06.17
Вин+Лин на одном компе.


2-1180014478
Reaktor
2007-05-24 17:47
2007.06.17
Копия содержимого активного окна в Image


15-1179470040
Igor_
2007-05-18 10:34
2007.06.17
Ek RTF Report для C++Builder