diff --git a/Source/Base/Utiles/uDataTableUtils.pas b/Source/Base/Utiles/uDataTableUtils.pas index 610cafe4..76e67f34 100644 --- a/Source/Base/Utiles/uDataTableUtils.pas +++ b/Source/Base/Utiles/uDataTableUtils.pas @@ -185,10 +185,11 @@ var i : integer; begin bCambiado := False; + if Assigned(ADataTable) and (ADataTable.Active) then begin - bCambiado := (ADataTable.State = dsEdit) or - DeltaValuesAreDifferent(ADataTable.Delta); + bCambiado :=(ADataTable.State = dsEdit) or + (ADataTable.HasDelta and DeltaValuesAreDifferent(ADataTable.Delta)); if (not bCambiado) then begin @@ -197,7 +198,8 @@ begin begin bCambiado := bCambiado or ((TDADataTable(dtDetails.Items[i])).State in dsEditModes) or - DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta); + ((TDADataTable(dtDetails.Items[i])).HasDelta and + DeltaValuesAreDifferent((TDADataTable(dtDetails.Items[i])).Delta)); if bCambiado then Break; end;