Hallo Walter,
die Trennung macht durchaus Sinn. Wenn man es aber macht, dann bitte konsequent so wie schon mehrfach vorgeschlagen, und nicht irgend so einen Misch-Masch wo sich dann wieder Teile des Datenzugriffes auf den Formularen befinden.
Mein Vorschlag: Diese procedure gehört in das Formular
Delphi-Quellcode:
procedure TfrmMitglieder.dscMitgliederDataChange(Sender: TObject; Field: TField);
begin
...
end;
Beim "OnActivate" und "OnDeactivate" würde ich sie jeweils im Formular zuweisen
Delphi-Quellcode:
procedure TfrmMitglieder.FormActivate(Sender: TObject);
begin
dmMitglieder.dscMitglieder.OnDataChange := dscMitgliederDataChange;
end;
procedure TfrmMitglieder.FormDeActivate(Sender: TObject);
begin
dmMitglieder.dscMitglieder.OnDataChange := nil;
end;
Abgesehen davon würde ich die Datenmodule generell in der .dpr erzeugen, denn oft ist es ja so, dass bei konsequenter Anwendung der Datenmodule (absolute Trennung von Datenzugriff und
GUI) dann mehrere Formulare das Datenmodul problemlos verwenden können. Unterm Strich wird zudem sogar der Bildschirmaufbau etwas schneller weil die Tabelle offen bleiben kann und das Datenmodul nicht ständig neu erzeugt werden muss.