![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в цикле создавать поля в новой таблице? [D5, Paradox]
AERO © (2003-04-18 17:34:00)Доброго всем времени суток! Подскажите новичку как правильно сделать? У меня есть массив с именами будущих полей. Требуется создать новую таблицу c именами полей из этого массива.Все поля одного типа. Попробовал в пример из Help"а добавить цикл - не работает:
...
with FieldDefs do begin
Clear;
with AddFieldDef do begin
for x:=0 to nn do begin // добавил цикл
Name := cA[x];
DataType := ftInteger;
Required := True;
end;
end;
end;
...
Подскажите, где я ошибся!
AERO (2003-04-21 17:08:00) [1]Прошу прощения за "корявый" вопрос, опыта общения на форуме нет (пишу второй раз). Ваши замечания учту.
Попробовал без WITH- таже ошибка EDBEngineError.
Вариант от Zz_работает, хотя при компиляции появляется предупреждение:
[Warning] Unit1.pas(49): Type "" must be a class to have OLE automation
У меня с этой строки начинается цикл:
for x:=0 to nn do // строка 49
begin // строка 50
Table1.FieldDefs.Add(cA[x],ftInteger,0,True); // строка 51
end;
Переменные проверил - все значения допустимые.
Может ошибка еще в чем-то?
Anatoly Podgoretsky (2003-04-21 13:43:00) [2]А не пользуйся для начала WITH трудно читать и разбираться с логикой, обычно получается много ошибок.
Во вторых про ошибки надо говорить сразу, а не потом.
AERO (2003-04-21 11:56:00) [3]Спасибо всем кто ответил! Вариант Zz_работает. Хотя все равно непонятно, почему AddFieldDefв цикле вызывает exception: " ... exception class EDBEngineError with message "Capability not supported" ...", а Addвыполняется нормально? Может кто-нить пояснит в чем дело.
Zz_ (2003-04-18 17:43:00) [4]Clear;
for x:=0 to nn do begin
Add(cA[x],ftInteger,0,True);
end;
Anatoly Podgoretsky (2003-04-18 17:37:00) [5]А ты проверь в отладчике работает или нет и тамже посмотри, а вдруг NN = -1