vinguel
16-11-2010, 10:08:20
Buenos días a todos. Estoy intentando crear los TField en runtime, pero solo me crea el último. Os pongo lo que intento hacer (Solo que la asignación de campos depende de un Array dinamico que recorro en un bucle)
procedure TForm5.FormShow(Sender: TObject);
Var
v_Ind : Integer;
v_TField : TStringField;
begin
// Qry -. TQuery
Qry.DisableControls;
v_TField := TStringField.Create(Self);
//
v_TField.FieldName := 'APT_CODAPT';
v_TField.DisplayLabel:= 'Código';
v_TField.Name := Qry.Name + v_TField.FieldName;
v_TField.Visible := True;
v_TField.Index := 0;
v_TField.DataSet := Qry;
Qry.FieldDefs.UpDate;
//
v_TField.FieldName := 'APT_NOMAPT';
v_TField.DisplayLabel:= 'Nombre';
v_TField.Name := Qry.Name + v_TField.FieldName;
v_TField.Visible := True;
v_TField.Index := 1;
v_TField.DataSet := Qry;
Qry.FieldDefs.UpDate;
//
Qry.Open;
Qry.EnableControls;
end;
Muchas gracias por adelantado.
procedure TForm5.FormShow(Sender: TObject);
Var
v_Ind : Integer;
v_TField : TStringField;
begin
// Qry -. TQuery
Qry.DisableControls;
v_TField := TStringField.Create(Self);
//
v_TField.FieldName := 'APT_CODAPT';
v_TField.DisplayLabel:= 'Código';
v_TField.Name := Qry.Name + v_TField.FieldName;
v_TField.Visible := True;
v_TField.Index := 0;
v_TField.DataSet := Qry;
Qry.FieldDefs.UpDate;
//
v_TField.FieldName := 'APT_NOMAPT';
v_TField.DisplayLabel:= 'Nombre';
v_TField.Name := Qry.Name + v_TField.FieldName;
v_TField.Visible := True;
v_TField.Index := 1;
v_TField.DataSet := Qry;
Qry.FieldDefs.UpDate;
//
Qry.Open;
Qry.EnableControls;
end;
Muchas gracias por adelantado.