Diese Funktionalität gehört
imho nicht in das Formular, sondern in das Modell.
Delphi-Quellcode:
Type
TModel =
Class
fAModified,
fBModified : Bool;
fA : Integer;
fB :
String;
Procedure SetA(Value : Integer);
Procedure SetB(Value :
String);
public
Property A : Integer
Read fA
Write SetA;
Property B :
String Read fB Write SetB;
end
implementation
Procedure Procedure TModel.SetA(Value : Integer);
Begin
If Value = fA
then exit;
fA := Value;
fAModified := True;
End;
Procedure Procedure TModel.SetB(Value :
String);
Begin
If Value =
fB then exit;
fB := Value;
fBModified := True;
End;
Da ich nun weiß, ob und welche Daten sich verändert haben, ist der Rest ein Klacks.
BTW: Mit einem TDataSet wäre das nicht passiert, weil dort alle Felder diese Funktionalität bereits mitbringen.