Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Zugriffsverletzung in Modul "dataexchange.dll" beim Schließen von Programm (https://www.delphipraxis.net/206306-zugriffsverletzung-modul-dataexchange-dll-beim-schliessen-von-programm.html)

AuronTLG 8. Dez 2020 14:03

Zugriffsverletzung in Modul "dataexchange.dll" beim Schließen von Programm
 
Moin,

ich habe ganz plötzlich seit heute oder gestern bei einem Programm das Problem, dass es beim Schließen crasht:
Zuerst kommt "EAccessViolation in Modul dataexchange.dll...", danach, wenn man wartet, in periodischen Abständen "Fehler beim Erzeugen des Thread: Zugriff verweigert".

Das Programm wird per "ExitProcess(0)" dicht gemacht, was auch die Stelle ist, an der der Fehler auftritt, also nicht im Programm selbst, sondern in der Winapi, die versucht, es dicht zu machen.

Der Fehler ist ziemlich plötzlich aufgetaucht und ist auf mehreren Rechnern nachvollziehbar.
Weiterhin lässt sich das Problem dadurch unterbinden, indem man in Registry vom Office Outlook den Bitness-Eintrag löscht.

Ich versuche momentan herauszufinden, was genau die dataexchange.dll eigentlich ist, was sich aufgrund der ganzen DLL-Müllseiten etwas schwierig gestaltet.
Das ganze Problem ist generell etwas obskur, weswegen ich dankbar wäre, wenn irgendjemandem hierzu etwas einfiele...

hoika 8. Dez 2020 14:51

AW: Zugriffsverletzung in Modul "dataexchange.dll" beim Schließen von Programm
 
Hallo,
tja ...
Ist es auf deinem Rechner nachvollziehbar?

Schon mal MadExcept probiert?


Sonst hilft nur try/error, also code ausklammern, bis es geht und wieder einzeln wieder reinnehmen.

AuronTLG 8. Dez 2020 14:56

AW: Zugriffsverletzung in Modul "dataexchange.dll" beim Schließen von Programm
 
Wie gesagt, das Problem tritt bei der Ausführung von ExitProcess(0) auf, also nicht mehr im normalen Quellcode sondern tief in der WinAPI, zu der Exitprocess gehört. Dementsprechend bringen weder Debugger noch Try Excepts irgendetwas.

AuronTLG 8. Dez 2020 15:25

AW: Zugriffsverletzung in Modul "dataexchange.dll" beim Schließen von Programm
 
Okay, das Problem lässt sich auf jeden Fall dadurch umschiffen, dass man NICHT ExitProcess verwendet, was eine recht rabiate Methode zum Schließen des Programmes ist, die mal aus anderen Gründen reingekommen war.
Beenden über Schließen der Hauptform geht problemlos...
Muss ich mir wohl nochmal angucken, ob die Gründe für das ExitProcess immer noch aktuell sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 Uhr.

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