Форум: "Базы";
Текущий архив: 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