Auf Objektänderung prüfen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

Auf Objektänderung prüfen

Beitrag von and4more »

Hallo liebes Forum,
habe trotz Recherche leider nichts Passendes gefunden. Ich versuche zur Zeit ein sich selbst aktualisierendes Formular (TIpHtmlPanel) zu erzeugen, dass auf Änderungen an Objekten in einem Eingabebereich sofort reagiert. Gibt es eine elegantere Methode als die Objekte ständig in einer Schleife auf Änderungen zu prüfen, also in etwa im Sinne eines Event-Handlers, der zur Laufzeit selbständig Nachrichten bei Veränderung einzelner Objekte sendet. Leider funktionieren die Funktionen "onChange", "onEditingDone" oder auch "onKeyPress" und andere entweder nur bei Wechsel des Felds mit TAB- oder ENTER-Taste bzw. Mausklick auf ein anderes Feld oder sie führen wie bei "onKeyPress" zu einer erheblichen Rechenbelastung, da bei jedem Tastendruck neu geprüft wird. Auch müssten diese Funktionen für jedes Objekt einzeln implementiert werden, was auch relativ viel Aufwand darstellt (>200 Objekte).
Die zeitnahe Änderung ist deshalb wichtig, da ich ein Menü dynamisch anpassen möchte, sprich je nach Inhalt verschwinden oder tauchen kontextsensitive Menüpunkte auf.
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

Marsmännchen
Beiträge: 294
Registriert: So 4. Mai 2014, 21:32
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10
CPU-Target: 64bit
Wohnort: Oranienburg

Re: Auf Objektänderung prüfen

Beitrag von Marsmännchen »

Observer Pattern
Hier ein Thread dazu
viewtopic.php?f=12&t=10084
Ich mag Pascal...

and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

Re: Auf Objektänderung prüfen

Beitrag von and4more »

...danke für die Info. Werde mal versuchen das Ganze zu "entschlüsseln", erscheint mir für meinen Skill-Level recht kompliziert, muss mich damit mal in einer ruhigen Minute befassen, aber zunächst schon mal vielen Dank. Ich melde mich noch mal wenn ich glaube es verstanden zu haben.
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

Antworten