Главная страница
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.02 c
2-1179981178
=BuckLr=
2007-05-24 08:32
2007.06.17
RichEdit - полосы прокрутки


9-1153902502
Илья Щукин
2006-07-26 12:28
2007.06.17
Ошибка компиляции


2-1180302564
snowkam2
2007-05-28 01:49
2007.06.17
Перекрещивание обьектов!


2-1180443692
molotok
2007-05-29 17:01
2007.06.17
хелп плиз, не то коней скоро двину...


2-1179993652
roughneck
2007-05-24 12:00
2007.06.17
DLL + MDI окна