你的计算字段的值应该在数据集的CalcFields事件中写:
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
0Abegin
  DataSet.FieldByName(计算字段名).AsInteger :=
  (DataSet.FieldByName('maths').AsInteger +
  DataSet.FieldByName('english').AsInteger) div 2;end;
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
—————————————————————————————————