AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Crash vermeiden

Ein Thema von TurboMagic · begonnen am 20. Aug 2023 · letzter Beitrag vom 21. Aug 2023
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.039 Beiträge
 
Delphi 12 Athens
 
#1

AW: Crash vermeiden

  Alt 20. Aug 2023, 16:55
Hallo,

anbei mal der Stacktrace.
Ich hab aber den Verdacht, dass sich hier evtl. einfach was "selbst überholt"
und evtl. tritt das Problem nur beim Debuggen auf, weil man durch Breakpoints
ggf. auch Zeitverhalten usw. beeinflusst.

Leider kann man den Stacktrace noch nicht in die Zwischenablage kopieren.
Das lernt die IDE aber bestimmt auch noch...

Wie komme ich zu meinem Verdacht?
Naja, manchmal springt er von der FailureTypeStr Zuweisung gleich zum Breakpoint
am Post und überspringt somit den bei FIleByName.

Grüße

TurboMagic
Angehängte Grafiken
Dateityp: jpg Stacktrace.jpg (122,8 KB, 30x aufgerufen)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.039 Beiträge
 
Delphi 12 Athens
 
#2

AW: Crash vermeiden

  Alt 20. Aug 2023, 17:03
Habe es jetzt mal außerhalb der IDE getestet: Fehler kommt trotzdem, wird nur eben durch Exception Handler abgefangen.
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
780 Beiträge
 
#3

AW: Crash vermeiden

  Alt 20. Aug 2023, 17:07
Hast du die Query auf "asynchron" gestellt?
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.039 Beiträge
 
Delphi 12 Athens
 
#4

AW: Crash vermeiden

  Alt 20. Aug 2023, 17:23
Nicht dass ich wüsste, aber: wie würde man das überhaupt machen?
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Crash vermeiden

  Alt 20. Aug 2023, 17:49
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?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.639 Beiträge
 
Delphi 12 Athens
 
#6

AW: Crash vermeiden

  Alt 20. Aug 2023, 18:33
gelöscht
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming

Geändert von Uwe Raabe (20. Aug 2023 um 18:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.948 Beiträge
 
Delphi 12 Athens
 
#7

AW: Crash vermeiden

  Alt 20. Aug 2023, 19:04
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Crash vermeiden

  Alt 20. Aug 2023, 19:07
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.361 Beiträge
 
Delphi 12 Athens
 
#9

AW: Crash vermeiden

  Alt 20. Aug 2023, 22:05
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.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Aug 2023 um 22:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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