Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Akzeptanz des Wertes im TField eines TDataSet

  Alt 3. Feb 2023, 11:56
entweder einen Haltepunkt in eure Funktion und dann Schrittweise von da bis zur Exception
Ws glaubst Du, woher ich den Stacktrace habe?
oder ab der Exception rückwärts, jeweils schauen was in den aufrufenden Methoden vorher (im Code darüber) ausgeführt wurde und ob da irgendwo eure Funktion auftaucht, bzw. ob sie dort hätte auftauchen müssen (aber vergessen wurde).
Ich habe bereits geschrieben, dass dort keine unserer Methoden auftaucht. Kannst Du mir glauben oder auch lassen. Ansonsten selbst den Stacktrace ansehen. Dafür habe ich ihn hier reinkopiert.
Taucht diese Exception z.B. im BeforePost oder vor dem Changed des Fields auf, dann wäre es ja verständlich, dass die Daten noch nicht gespeichert sind.
Der Wert ist laut Source/Debugger verändert. Der Fehler entsteht nach jetzigem Stand im SetText des Feldes. Vermutlich im BeforePost.

Im Validate außerhalb dem Feld etwas zuweisen
und dann hoffen es würde an der richtigen Stelle nicht wieder vom VAR DisplayValue überschrieben?
Wenn Du die Komponente und das Validate dieser Komponente dann auch nicht, dann kann ich erhlich gesagt, auf Deine Infos verzichten. Aber trotzem eine kurze Erläuterung: Das DisplayValue dient nur der internen Nutzung, wenn die Komponente selbst eine Fehlermeldung ausgibt. Das ist aber für meine Zwecke nicht brauchbar. Der tatsächliche DisplayValue bleibt unverändert.

Und außerhalb am Fokus rumfummeln, ohne den aktuellen Prozess ordentlich abzubrechen? (z.B. Abort)
Und was glaubst Du, warum ich nach einer anderen Lösung suche? Abgesehen davon verwirft ein Abort die Änderungen des kompletten Datensatzes und nicht nur die des Feldes.

Außerdem mit einem Dioalog (ProcressMessages) innerhalb die Verarbeitungsreihnenfolge (andere Aktionen) reinzuholen, damit der nachfolgende Code eventuell quer schlägt.
Wenn kein Abort, dann den Dialog voa PostMessage oder ForeceQueue nach hinten verschieben.
Habe ich bereits versucht, ändert aber nichts am Problem.

nja, da wundert es kaum jemanden.
Ein wenig arrogant, der Herr.
Peter
  Mit Zitat antworten Zitat