procedure TForm1.Button2Click(Sender: TObject);
begin
  Query1.Close;
b := TFloatField.Create(Query1);
  b.FieldName := 'Hello';
  b.DisplayLabel := 'World';
  b.Visible := True;
  b.FieldKind := fkCalculated;
  b.DataSet := Query1;
  Query1.OnCalcFields := Query1CalcFields;
  Query1.Open;
end;procedure TForm1.Query1CalcFields(DataSet: TDataSet);
begin
  DataSet['Hello'] := DataSet.FieldByName('SIZE').AsInteger
   * DataSet.FieldByName('WEIGHT').AsInteger;
end;