Wir hatten ein ähnliches Problem, allerdings mehr "allgemein" zum feststellen ob ein Object modifiziert wurde.
Die Lösung bei uns war konsequent für alle properties Setter zu verwenden.
aka :
Delphi-Quellcode:
procedure setProperty1(const Value : integer);
begin
if Value <> fProperty1 then
begin
fproperty1 := Value;
// Call do set the modifiedFlag
domodified;
end;
end;
So können wir im Source einfach testen:
if Obj.modified then .......
Hat sich bewährt kommt aber wohl auf den Anwendungsfall an...