AGB  ·  Datenschutz  ·  Impressum  







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

Absturz im Save / Open Dialog

Ein Thema von OlliWW · begonnen am 9. Dez 2015 · letzter Beitrag vom 16. Dez 2015
Antwort Antwort
OlliWW

Registriert seit: 31. Aug 2011
159 Beiträge
 
#1

Absturz im Save / Open Dialog

  Alt 9. Dez 2015, 10:43
Hallo Zusammen,

Wir haben in unserer Software momentan vermehrt Abstürze, wenn ein User einen Open oder Save Dialog öffnen möchte.

Diese Abstürze passieren nicht reproduzierbar und nur manchmal. Nach vielem debuggen und suchen habe ich festgestellt, dass dies etwas mit dem "InitialPath" zu tun haben könnte. Bei vielen Kunden hat es eine Verbesserung gebracht, wenn ich den InitialPath fest auf ein Verzeichnis gesetzt habe, von dem ich weiß dass es existiert. Das ist allerdings auch nur ein Workarround für etwas das meiner Meinung nach funktionieren sollte.

Lustigerweise ist mir eine andere Software die wir gekauft haben heute abgestrüzt, die offenbar a) mit Delphi programmiert ist und b) MadExcept nutzt. Anhand des CallStacks kann ich sehen, dass auch diese Software auf die gleiche Art und Weise beim öffnen des Dialogs abstürzt als auch unsere.

Weiß jemand zufällig ob der Open / Save Dialog buggy ist oder wie man das beheben kann?

Anbei mal ein Beispiel Callstack. Wie man sieht, sitzt der Fehler offenbar tief in VCL / Windows API.
".Start" ist der letzte Teil meines Source-Codes, dort wird das Execute vom Dialog aufgerufen.

Code:
77720196 +00e ntdll.dll                                               NtWaitForMultipleObjects
76f215f1 +0fa KERNELBASE.dll                                          WaitForMultipleObjectsEx
755f1a03 +089 kernel32.dll                                            WaitForMultipleObjectsEx
77710107 +02b ntdll.dll                                               KiUserCallbackDispatcher
75e6f5b7 +00e USER32.dll                                              WaitMessage
75e6ce85 +031 USER32.dll                                              DialogBoxIndirectParamAorW
75e6cc09 +016 USER32.dll                                              DialogBoxIndirectParamW
0066469f +3ab Prog.exe Vcl.Dialogs                                    TCustomFileDialog.Execute
00661451 +199 Prog.exe Vcl.Dialogs                                    TFileDialogWrapper.Execute
006620ae +0d6 Prog.exe Vcl.Dialogs                                    TOpenDialog.DoExecute
0066243b +00f Prog.exe Vcl.Dialogs                                    TSaveDialog.Execute
00660ad1 +035 Prog.exe Vcl.Dialogs                                    TCommonDialog.Execute
01152ee8 +160 Prog.exe gtFRXportIntf                          393 +16 TgtFRXport_Base.Start
Die Fehlermeldungen sind immer anders, der Callstack immer gleich:
Code:
Zugriffsverletzung bei Adresse 60561493 in Modul 'FunDisc.dll'. Ausführung von Adresse 60561493.

oder

Zugriffsverletzung bei Adresse 609412D0 in Modul 'msxml6.dll'. Ausführung von Adresse 609412D0.
Unsere Software wurde mit XE6 und Seattle 10 kompiliert, beide Versionen führen zu dem Verhalten.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Absturz im Save / Open Dialog

  Alt 9. Dez 2015, 10:47
Mit Delphi hat das nichts zu tun, sondern mit den installierten Explorer-Erweiterungen.

Bei Google suchenfundisc.dll
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Absturz im Save / Open Dialog

  Alt 9. Dez 2015, 10:49
Das ist kein Fehler deiner Software sondern (fast immer) ein Fehler/Problem einer sogenannten Shell-Extension.
Wenn du nach "FunDisc.dll" suchst findest du z.B. https://social.technet.microsoft.com...w7itprogeneral mit Link auf einen Hotfix.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
OlliWW

Registriert seit: 31. Aug 2011
159 Beiträge
 
#4

AW: Absturz im Save / Open Dialog

  Alt 9. Dez 2015, 10:50
Wow das ging schnell.

Vielen Dank!
  Mit Zitat antworten Zitat
OlliWW

Registriert seit: 31. Aug 2011
159 Beiträge
 
#5

AW: Absturz im Save / Open Dialog

  Alt 16. Dez 2015, 14:23
Hallo Zusammen,

Ich hole diesen Thread noch mal nach oben.

Ich habe auf den betroffenen Kundensystemen nun den Hotfix aus dem Beitrag vom Technet installiert. Dieser hat allerdings keine Besserung gebracht. Mittlerweile taucht das Problem bei immer mehr Kunden auf. Ich vermute dass ein Windows Update etwas verändert hat, das dieses Verhalten nun vermehrt hervorruft.

Die Gemeinsamkeit ist der MS Windows 2008 R2 Server und dass es Kundensysteme sind, die diesen Server als Terminalserver nutzen.

Nach ein bisschen googlen bin ich auf dieses Flag gestoßen:
{$SetPEOptFlags  IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} Ich habe mir im MSDN durchgelesen was dieses Flag macht und wann man es nicht einsetzen soll. Als ein Punkt wird dort aufgezählt, dass man keine INI Dateien verwenden darf. Ist damit gemeint, dass man generell keine Einstellungen in einer INI Datei verwenden darf? Mein Programm nutzt nämlich eine INI Datei im Programmverzeichnis um sich Einstellungen zu merken, die dann über TMemIni gelesen / geschrieben werden.

Beim Absturz wird übrigens jedes Mal eine andere DLL gemeldet:
- FunDisc
- msxml6
- tquery
- u.s.w.

MSDN Link:
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

AW: Absturz im Save / Open Dialog

  Alt 16. Dez 2015, 15:46
Ich will mich nicht zu weit aus dem Fenster lehnen, aber ich vermute, dass Ini-Dateien nur dann Probleme machen, wenn man mit den nativen Win32-Funktionen wie WritePrivateProfileString u.a. darauf zugreift, was TIniFile tut. AFAIK ist TMemIniFile aber ein Delphi-Eigengewächs, das intern mit Stringlisten arbeitet, das könnte funktionieren, denn Inis sind ja auch nur Text.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Absturz im Save / Open Dialog

  Alt 16. Dez 2015, 15:50
Wenn Microsoft das schreibt, dann meinen die garantiert ihre Windows-INI-API.
MSDN-Library durchsuchenGetPrivateProfileString, also Delphi-Referenz durchsuchenTIniFile

TMemIniFile bassiert auf einer TStringList.



https://msdn.microsoft.com/en-us/lib.../cc834995.aspx
Zitat:
legacy applications
Wenn man seine Anwendung dazu zählt, dann gibt es eh noch weitere Probleme.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Absturz im Save / Open Dialog

  Alt 16. Dez 2015, 16:35
Hab ich was anderes gesagt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Absturz im Save / Open Dialog

  Alt 16. Dez 2015, 17:54
Keine Ahnung, die Redbox meinte es gäbe noch keine Antworten, bzw. sie sagte nix.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 22:07 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