Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Crash vermeiden (https://www.delphipraxis.net/213576-crash-vermeiden.html)

TurboMagic 20. Aug 2023 17:03

AW: Crash vermeiden
 
Habe es jetzt mal außerhalb der IDE getestet: Fehler kommt trotzdem, wird nur eben durch Exception Handler abgefangen.

Olli73 20. Aug 2023 17:07

AW: Crash vermeiden
 
Hast du die Query auf "asynchron" gestellt?

TurboMagic 20. Aug 2023 17:23

AW: Crash vermeiden
 
Nicht dass ich wüsste, aber: wie würde man das überhaupt machen?

Lemmy 20. Aug 2023 17:49

AW: Crash vermeiden
 
schau mal ob die Komponente die Eigenschaft "State" hat, sollte eigentlich ein enum sein.
Bitte logge mal mit, wie sich der State verhält, wichtig wäre hier vor dem Open und nach dem Open.
Kann es sein, dass du die Query wo anders im Code noch verwendest und dort beim Append die Query eigentlich im Edit/Insert Mode ist und einen Post abschickt und der dann zu der Exception führt?

Uwe Raabe 20. Aug 2023 18:33

AW: Crash vermeiden
 
gelöscht

jaenicke 20. Aug 2023 19:04

AW: Crash vermeiden
 
Zitat:

Zitat von Lemmy (Beitrag 1525886)
Kann es sein, dass du die Query wo anders im Code noch verwendest und dort beim Append die Query eigentlich im Edit/Insert Mode ist und einen Post abschickt und der dann zu der Exception führt?

Ja, das sieht man ja deutlich im Stacktrace:
Append --> CheckBrowseMode (hier wird erkannt, dass der Status nicht passt) --> Post (als Konsequenz, weil da noch ein offener Datensatz hängt)

Die Frage ist natürlich, warum da noch ein Datensatz gerade editiert wird. Prinzipiell könnte man das mit Cancel abbrechen, aber die Frage ist, ob das wirklich gewünscht ist, oder dann Daten verloren gehen.

Lemmy 20. Aug 2023 19:07

AW: Crash vermeiden
 
Zitat:

Zitat von jaenicke (Beitrag 1525888)
Zitat:

Zitat von Lemmy (Beitrag 1525886)
Kann es sein, dass du die Query wo anders im Code noch verwendest und dort beim Append die Query eigentlich im Edit/Insert Mode ist und einen Post abschickt und der dann zu der Exception führt?

Ja, das sieht man ja deutlich im Stacktrace:
Append --> CheckBrowseMode (hier wird erkannt, dass der Status nicht passt) --> Post (als Konsequenz, weil da noch ein offener Datensatz hängt)

jup, habe ich gesehen. Die Ausgabe des state hätte ich gerne als Bestätigung / Beweis der Aussage ;-)

jaenicke 20. Aug 2023 19:43

AW: Crash vermeiden
 
Zitat:

Zitat von Lemmy (Beitrag 1525889)
jup, habe ich gesehen. Die Ausgabe des state hätte ich gerne als Bestätigung / Beweis der Aussage ;-)

Dass du das weißt und siehst, ist mir schon klar. :wink:

Da aber nicht jedem die Bedeutung im Stacktrace klar ist, wollte ich hier auch noch erklären, wie man dies im Stacktrace sehen kann.

Lemmy 20. Aug 2023 20:06

AW: Crash vermeiden
 
Zitat:

Zitat von jaenicke (Beitrag 1525890)
Zitat:

Zitat von Lemmy (Beitrag 1525889)
jup, habe ich gesehen. Die Ausgabe des state hätte ich gerne als Bestätigung / Beweis der Aussage ;-)

Dass du das weißt und siehst, ist mir schon klar. :wink:

Da aber nicht jedem die Bedeutung im Stacktrace klar ist, wollte ich hier auch noch erklären, wie man dies im Stacktrace sehen kann.

naja, manchmal trau ich meinen Augen nicht ;-)

himitsu 20. Aug 2023 22:05

AW: Crash vermeiden
 
Zitat:

Zitat von jaenicke (Beitrag 1525888)
Append --> CheckBrowseMode (hier wird erkannt, dass der Status nicht passt) --> Post (als Konsequenz, weil da noch ein offener Datensatz hängt)

Kommt drauf an.
Einige DB-Komponenten haben auch sowas, wie eine AutoPost-Option.
Steht jenes auf False, dann würde ein Cancel gemacht, außer es würde explizit .Post ausgeführt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz