Hi und erstmal Herzlich Willkommen in der
DP
Wie genau werden denn die Felder geändert? Verwendest Du hier ein Property? Wenn ja, dann kannst Du einfach eine Methode als Setter verwenden, diese wird aufgerufen, sobald die Felder verändert werden. Dabei kannst Du dann einfach die InitialInitDefs-Methode aufrufen:
Delphi-Quellcode:
TMyTestDataSet = class(TDataset)
private
FFields: TStrings;
protected
procedure setFields(const Fields: TStrings);
public
property Fields: TStrings read FFields write setFields;
end;
...
procedure TMyTestData.setFields;
begin
self.FFields.Assign(Fields);
self.InitialInitDefs;
...
end;
Muss jetzt nicht stimmen, was Signaturen/Typen usw. angeht, aber grob was in der Richtung halt.
Gruß Der Unwissende