Главная страница
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.025 c
15-1179762759
Dawid,
2007-05-21 19:52
2007.06.17
Основы программирования


2-1180013510
Serega_61
2007-05-24 17:31
2007.06.17
Вложенные формы


2-1180181459
A Programmer
2007-05-26 16:10
2007.06.17
Не работает копирование в буфер в win9x


15-1179719321
Uchenik
2007-05-21 07:48
2007.06.17
Тестовый вопрос


15-1179590480
Piter
2007-05-19 20:01
2007.06.17
Корзина в The Bat