Eigentlich wollte ich hier ja nichts mehr posten, aber du provozierst das, indem du den Sinn meiner Aussage so verdrehst, als hätte ich behauptet, die Zuweisung eines Ereignisses würde auch gleich die Ereignisbehandlung erstellen oder beinhalten. Tatsächlich habe ich geschrieben, daß Ereignisse immer automatisch ausgelöst werden – ausgelöst und nicht behandelt –, und zwar auf deine falsche Behauptung hin, daß Ereignisse nicht automatisch ausgelöst würden.
Die falsche Behauptung habe ich nirgends aufgestellt. Das Auslösen des Ereignisses hilft nicht, wenn nicht daruf reagiert wird. Mir geht es darum, dass diese Reaktion immer automatisch abläuft, ohne dass ich dafür in einer Komponente, die ich in der Form platziere, weitere Schritte unternehmen müsste.
Letztendlich mußt du auch bei deiner "Lösung" eine Ereignisbehandlung schreiben, denn das Timer-Ereignis tut auch erstmal gar nichts außer eben auszulösen. Oder mit anderen Worten: Der Kampf gegen Windmühlen war schon immer ein aussichtsloser
Bei meiner Lösung muss ich die Ereignisbehandlung ein einziges mal schreiben und brauche mich später, beim Einfügen eines neuen Datenfeldes, nicht mehr darum kümmern. Meine Ereignisbehandlung kümmert sich automatisch um alle Datenfelder des Formulars, egal welche und wie viele es sind. Nur wenn ich irgendwann einen neuen Typ von Datenfeld verwenden sollte, den ich bisher nicht verwendet und berücksichtigt habe, müsste ich die Ereignisbehandlungsroutine erweitern.
Ich denke, du solltest das so machen, wie du denkst, und auf keinen Fall dumme Ratschläge von erfahrenen Programmieren annehmen, ja nicht einmal darüber nachdenken, warum die überhaupt was vorschlagen ...
Ja, nach über dreissig jahren professioneller Programmiertätigkeit (aber dabei eher wenig mit Delphi und der Windows Oberfläche) bin ich sicher noch zu unerfahren, um eine Ahnung von dem zu haben, was ich tue.
Achso, bevor ich's vergesse: Mich würde noch immer interessieren, wieso du keine datensensitiven Komponenten verwendest, wenn du schon mit einer Datenbank arbeitest und die Komponenten doch, wie du schriebst, direkt mit diversen
DB-Feldern assoziiert sind. Da würden nämlich alle Änderungen sofort ohne Timer oder OnChange-Ereignisbehandlung gespeichert werden.
Dafür habe ich durchaus gute Gründe, aber ich fürchte nach unserem bisherigen Diskussionsverlauf, dir die erläutern zu wollen wäre vergebliche Liebesmüh. Es ist mir lieber so.