Доброго времени всем.
Помогите разобраться: В рантайме динамически создаются компаненты 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".
Admin: Пользуемся тегами для оформления кода!
Я так понимаю, что надо удалить конкретный компанент TDBEdit, но он создан динамически и как до него добраться не могу сообразить.
Кто знает просветите НАЧИНАЮЩЕГО.