![]() |
Inhaltsänderg. direkt in OnChange-Ereignis rückgängig machen
Hallo!
Ich habe ein Feld einer TTable. Diese Komponente (TStringField) hat ja auch sein eigenes OnChange-Event. Wenn das Feld jetzt den Wert erster Wert besitzt, und ich gehe rein und ändere den Wert in zweiter Wert, wird das Ereignis ja ausgelöst. Jetzt soll in dem Ereignis dafür gesorgt werden, dass wenn der Wert der Plausibilitätsprüfung nicht standhält, der ursprüngliche Wert, also erster Wert wiederhergestellt wird. Ich wüsste mir nicht anders zu helfen, als mir den Wert in einer anderen Variable zu speichern und diesen dann dem Control wieder zuzuweisen. Das ist aber doch recht umständlich (da brauche ich ja bei einer Form mit 20 Controls 20 Variablen, bei denen ich auch noch ständig aufpassen muss dass diese auch ja immer den richtigen Wert haben). Einfacher wäre eine Standardmethode, die ich aber nicht gefunden habe. Gibt es eine solche, oder hat jemand eine ganz andere Idee? Danke und Viele Grüße! ps. Hab die Suche schon bemüht, aber ich habe nichts in der Richtung gefunden... |
Re: Inhaltsänderg. direkt in OnChange-Ereignis rückgängig ma
Zitat:
der richtige Weg, aber aufwendig: die Ableitung einer eigenen Komponente von TStringField mit einem Feld für den letzten gültigen Wert und einer eingebauten Plausibilitätsprüfung, die diesen Wert bei ungültigen Eingaben wiederherstellt. Dann herrscht Ordnung: Field1.LastValidEntry gehört eben zum Objekt Field1, und man kann den Zugriff mit den üblichen Verfahren regeln (private, protected usw.). Externe Variablen sind für den Zweck ziemlich fehleranfällig. Gruss Reinhard |
Re: Inhaltsänderg. direkt in OnChange-Ereignis rückgängig ma
Zitat:
Die Faulheit hat aber inzwischen gesiegt... hab es inzwischen mit externen Variablen gelöst. Wenn ich das Problem noch öfter kriege, werd ich aber wohl eine Komponente ableiten. Viele Grüße! |
Re: Inhaltsänderg. direkt in OnChange-Ereignis rückgängig ma
Hallo,
Zitat:
Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz