Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   mysteriöse Exception (https://www.delphipraxis.net/204490-mysterioese-exception.html)

dataspider 3. Jun 2020 08:44

AW: mysteriöse Exception
 
Zitat:

Zitat von UliTs (Beitrag 1466152)
Leider kommt die gleiche Fehlermeldung wie bisher ohne auch nur irgendwie zusätzliche Informationen zu liefern. So, als ob MacExcept nicht vorhanden wäre. Hat jemand eine Idee, woran das liegen könnte?

Das kann auch daran liegen, dass die AV in Units von Fremdkomponenten feuert, welche nicht mit Debug dcu' s kompiliert sind.
Manche Hersteller legen die dcu' s nicht optimal ab...
Abhängig von den Einstellungen Bibliothekspfad/Suchpfad werden die dcu' s von Fremdkomponenten jedesmal neu erstellt oder nicht.

Und im Debugger sollte man wenigstens im Aufruf - Stack die letzte Zeile des eigenen Codes finden.

Frank

UliTs 3. Jun 2020 09:12

AW: mysteriöse Exception
 
Danke.
Nur wie kann ich mir den Aufruf-Stack anzeigen lassen?

UliTs 3. Jun 2020 09:21

AW: mysteriöse Exception
 
Ich habe jetzt einfach eine Division durch 0 provoziert, um zu schauen, ob dann irgend etwas anders mit MadExcept dargestelt wird. Leider nicht :( .
Entweder mache ich noch etwas grundsätzlich falsch bezüglich der Benutzung von MadExcept oder selbiges läuft mit Delphi 10.3 nicht.:shock:

Klaus01 3. Jun 2020 09:47

AW: mysteriöse Exception
 
.. das MadExcept Icon hast Du schon auf Deine Mainform gezogen?

Grüße
Klaus

UliTs 3. Jun 2020 11:17

AW: mysteriöse Exception
 
Zitat:

Zitat von UliTs (Beitrag 1466166)
Ich habe jetzt einfach eine Division durch 0 provoziert, um zu schauen, ob dann irgend etwas anders mit MadExcept dargestelt wird. Leider nicht :( .
Entweder mache ich noch etwas grundsätzlich falsch bezüglich der Benutzung von MadExcept oder selbiges läuft mit Delphi 10.3 nicht.:shock:

Ursache dank Mathias gefunden :-D .
Grund ist die VMWare. Wenn der Quellcode auf einem Laufwerk der VMWar ist, klappt es nicht richtig. Wenn man ihn lokal kopiert, funktioniert es. Siehe auch forum.madshi.net

UliTs 3. Jun 2020 17:43

AW: mysteriöse Exception
 
Leider hat mich MadExcept auch nicht richtig weiter gebracht. Ich habe aber eine Vermutung.

Als Datenbankserver wird der ADS (Advantage Database Server) in der aktuellen Version 12 eingesetzt. Es gibt ein DD (Data Dictionary), in dem die Tabellen zusammengefasst sind und verwaltet werden. Die Tabellen stammen noch aus den 80er-Jahren und sind DBF-Tabellen mit NTX-Indizes. Mindestens bei einer Tabelle kommt zu dem besagten Fehlern. Ich vermute, dass einzelne Datensätze darin korrupt sind und z.B. nicht erlaubte Zeichen enthalten. Die Fehlermeldung entsteht ziemlich sicher im das FireDac-Modul. Im ARC (Data Architekten) kommt es zu keinen Fehlermeldungen.
Nun ist die Frage wie die Tabelle repariert werden könnte...

freimatz 3. Jun 2020 21:42

AW: mysteriöse Exception
 
Zitat:

Zitat von UliTs (Beitrag 1466166)
Ich habe jetzt einfach eine Division durch 0 provoziert, um zu schauen, ob dann irgend etwas anders mit MadExcept dargestelt wird. Leider nicht :( .
Entweder mache ich noch etwas grundsätzlich falsch bezüglich der Benutzung von MadExcept oder selbiges läuft mit Delphi 10.3 nicht.:shock:

Vielleicht wird die Exception von irgendwas abgefangen. madExcept behandet nur unbehandelte Exceptions. Viele Programm fangen weit oben alle Exceptions ab und zeigen dann einen Text an (so wie bei deinem ersten Beitrag). Vielleicht hast Du auch so was drin. Checke mal Application.OnException.

Sinspin 4. Jun 2020 09:06

AW: mysteriöse Exception
 
Zitat:

Zitat von UliTs (Beitrag 1466261)
Nun ist die Frage wie die Tabelle repariert werden könnte...

ReIndex/Pack hat bei uns schon einige Probleme gelößt. Allerdings gabt es immer nur Probleme wenn wir keinen Server für den Zugriff verwendet haben.
Null Zeichen in Strings gab mal Ärger bei der Anzeige in Memos.

Was Du machen könntest, erstmal via ARC, den Inhalt der Tabelle nach HTML oder so exportieren, eventuell wird da was sichtbar und du kannst dich dann um einzelne datensätze kümmern. Oder exportier die Tabelle in eine neue Tabelle und seh ob die noch Probleme macht.

UliTs 4. Jun 2020 15:10

AW: mysteriöse Exception
 
Hallo Freimatz und Sinspin, vielen Dank für Eure Nachrichten.
Inzwischen glaube ich nicht mehr, dass die Tabelle korrupt ist. Ich kann aber zu 100% nachvollziehen, dass es zu dem Fehler kommt, wenn ein Datensatz abgerufen wird, dessen Memo-Feld auch mehr als 1084 Zeichen besteht (mit 1084 funktioniert noch alles!). Deswegen denke ich, dass ich entweder das Firedac-Modul falsch verwende oder in selbigem bezüglich DBF/NTX-Tabellen ein Fehler ist.
Ich forsche weiter :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 Uhr.
Seite 2 von 2     12   

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