Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.052 c
8-1157263841
McFalu
2006-09-03 10:10
2007.06.17
Вопрос о 32 битном битмапе.


2-1179840237
Raview
2007-05-22 17:23
2007.06.17
Повторение команд


15-1179751846
Вай
2007-05-21 16:50
2007.06.17
процессор


15-1179905112
Vasiliy Alfiorov
2007-05-23 11:25
2007.06.17
Как заполнить документ Word(*.doc) (вручную)


1-1176890019
sirin
2007-04-18 13:53
2007.06.17
Вопрос по RTTI





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский