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.
Auf Objektänderung prüfen
-
- 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
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit
-
- 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
Ich mag Pascal...
-
- 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
...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