Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#2

Re: Inhaltsänderg. direkt in OnChange-Ereignis rückgängig ma

  Alt 4. Sep 2007, 15:04
Zitat von little-x:
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...
Hallo,

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
  Mit Zitat antworten Zitat