![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение списка полей в TTable [D5, Paradox]
Korvin © (2004-08-09 10:28:00)Помогите, плз! Заклинило чтот, понедельник нав. сказывается...
Делаю:
T1.FieldList.Clear;
nC := T1.FieldCount-1;
For nT := 0 to nC do begin
T1.FieldList.Add(T1.Fields.Fields[nT].FieldName);
end;
Дак вот FieldList - все время ReadOnly. Зачем тогда ему метод Add? Подскажите, плз, как правильно программно заполнить список полей в TTable?
Korvin (2004-08-09 14:19:00) [1]Пришлось через строковый массив и доступ - через FieldByName. Всем пасиб.
Korvin (2004-08-09 13:42:00) [2]Мда...
Мне всего-то надо получить список полей открываемой таблицы. Было бы здорово просто заполнить FieldList. Метод Add у него - что, просто наследие от предка?
Соловьев (2004-08-09 11:10:00) [3]
> Основной набор полей - стандартный, но могут быть различные
> "левые" служебные поля, значения которых необходимо сохранить
> (разные программы, работающие с одной таблицей) при возвращении
> "заказчику"...
для этого надо физически добавить поле. а для этого надо или SQL использовать или инструменты.
Korvin (2004-08-09 11:04:00) [4]Отлучусь на пару часов, спасибо всем откликнувшимся!
Korvin (2004-08-09 10:49:00) [5]Пасиб, это уже видел, но там ниче конкретного...
Соловьев (2004-08-09 10:47:00) [6]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1091776227&n=1&web=1
Korvin (2004-08-09 10:44:00) [7]Не, цикл то работает. Именно в нем возникает сообщение о ReadOnly. FieldCount, пардон за неточность, определяется перед FieldList.Clear...
46_55_41_44 (2004-08-09 10:43:00) [8]УППППСССС...
Извинтрест...
Я сам не всмотрелся в твой кодик )))
Но все равно работать не будет!!!
Ты опиши, что тебе надо сделать... Помогу!!
46_55_41_44 (2004-08-09 10:42:00) [9]Слушай просто всмотрись в в то, что ты написал!
Это не может работать, потому что если ты хочешь изменить структуру БД, то тебе нужно соответственные запросы писать!
Но в любом случае рассмотрим, твой код:
T1.FieldList.Clear; //Ты очистил список полей, ну типа удалил их все!!!
nC := T1.FieldCount-1; //и тут ты ссылаешься на кол-во полей, список которых ты уже обнулил в пердыдущей строке!Значени nC = -1 :)))
For nT := 0 to nC do begin //А тут вообще нечего говорить цикл вообще не начнется!
T1.FieldList.Add(T1.Fields.Fields[nT].FieldName);//но даже, если бы начался тут какая сумасшедшая рекурсия получается :)
Как можно обращаться к пустому списку, добавлять из этого списка в него же данные?...
end; // Единственная работающая строчка :)))
Korvin (2004-08-09 10:40:00) [10]Необходимо закачивать для доработки таблицы сторонних пользователей. Основной набор полей - стандартный, но могут быть различные "левые" служебные поля, значения которых необходимо сохранить (разные программы, работающие с одной таблицей) при возвращении "заказчику"...
stone (2004-08-09 10:38:00) [11]
> Дак вот FieldList - все время ReadOnly. Зачем
Так и есть. см F1
> Зачем тогда ему метод Add?
TFieldDefs.Add + F1
Соловьев (2004-08-09 10:35:00) [12]
> Подскажите, плз, как правильно программно заполнить список
> полей в TTable?
зачем?