可能PostError发生在DataSet,而此时ADOConn可能还没有发生错误,这样会导致ADOConn.Errors.Item[0]出错。
建议这样写:
procedure  TData.adoqBPostError(DataSet:  TDataSet;  E:  EDatabaseError;  
   var  Action:  TDataAction);  
begin     
  if E.Message = ''//你先测试一下看看是什么 then
  begin
   showmessage('数据重复!');     
   dataset.Cancel;  
  end;
end;  —————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————