Suchst Du sowas in der Art?
Delphi-Quellcode:
// Ereignisroutine für OnCalcFields
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
begin
// Die von Dir gewünschte Programmlogik.
end;
// Ereignisroutine für AfterOpen
procedure TForm1.ClientDataSet1AfterOpen(DataSet: TDataSet);
begin
ClientDataSet1.OnCalcFields := ClientDataSet1CalcFields;
end;
// Ereignisroutine für BeforeClose
procedure TForm1.ClientDataSet1BeforeClose(DataSet: TDataSet);
begin
ClientDataSet1.OnCalcFields := Nil;
end;
Die Zuweisung auf ClientDataSet1.OnCalcFields kann aber auch in (fast) jedem beliebigen Ereignis erfolgen, ebenso das Zurücksetzen auf Nil.
Kontextabhängig ließen sich aber auch mehrere Ereignisroutinen für OnCalcFields erstellen, die dann jeweils passend zugewiesen werden könnten.