Wieso weist du nicht beim Erstellen/Anzeigen des Formulars oder beim Befüllen der Komponenten das OnChange zu? So mache ich das jedenfalls. Klar kann man da die eine oder andere Komponente vergessen, aber das fällt doch sofort auf, wenn sich der Speichern-Button nicht ändert beim Ändern eben dieser Komponente.
...
Alles ist zentral in dieser Methode. Das hat sogar den Vorteil, dass man temporär alle Behandlungsroutinen abschalten kann, wenn man es braucht (z.B. Speichervorgang).
MfG Dalai
Hmm, das wäre auch ein Ansatz, der mir gefallen könnte. Lässt sich noch weiter verbessern, dass man neue Komponenten an der Stelle nicht manuell einfügen muss:
Delphi-Quellcode:
for i:=0 to componentcount-1 do
if component[i]=Tedit then Tedit(component[i]).onchange:=tne
else
if component[i]=Tcheckbox then TCheckbox(component[i]).onchange:=tne
...
Ein Problem hätte ich dann nur, wenn es Komponenten gibt, die eine eigene Onchange-Routine brauchen, in der noch irgend etwas anderes passieren soll.