![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени всем.
Помогите разобраться: В рантайме динамически создаются компаненты TDBEdit Код:
var editList: array of tDBEdit; begin if q=true then begin form1.Table1.Open; b:=form1.Table1.FieldCount; form2.Table2.First; SetLength(editList,b-1); for i:=1 to high(editList)-1 do begin n:= form2.Table2.Fields[2].AsInteger; editList[i]:=tDBEdit.Create(Form1); editList[i].Left:=380; editList[i].Top := 50+i*20; editList[i].DataSource:=nil; editList[i].DataSource:=form1.DataSource1; editList[i].DataField:=form1.Table1.Fields.Fields[i+2].FieldName; if editList[i].Field.AsDateTime <> 0 then begin labelList[i].Caption :=DateToStr(editList[i].Field.AsDateTime+n*30); if StrToDate(labelList[i].Caption) < Date then labelList[i].Font.Color:=clRed; end; editList[i].Visible:= true; Form1.InsertControl(editList[i]); form2.Table2.Next; end; end; SetLength(editList,0); end; ... Далее програмно удаляется поле из таблицы form1.table1.Close ; form1.Query1.Close; form1.Query1.SQL.Clear; form1.Query1.SQL.Add('ALTER TABLE "C:\Курсовая\Data\Spisok"'); form1.Query1.SQL.Add('DROP Data_'+x); form1.Query1.ExecSQL; form1.table1.Open ; // Вот здесь возникает ошибка "Field 'Data_x' not found". Я так понимаю, что надо удалить конкретный компанент TDBEdit, но он создан динамически и как до него добраться не могу сообразить. Кто знает просветите НАЧИНАЮЩЕГО. Последний раз редактировалось Admin, 03.12.2009 в 22:31. |