![]() |
Dateidialog im Debug-Mode: nervende Verzögerung
Moin allerseits
Wenn ich im Debug-Mode meines Delphi2009 einen Dateidialog (TOpenDialog) mit Execute öffne, dauert es teilweise bis zu einer Minute, bis ich dort eine Datei auswählen kann. Mir leuchtet zwar ein, daß der Delphi-Debugger auch den Dateidialog, der ja lediglich eine Methode der Win-API kapselt, analysiert, aber das nervt total. Gibt es eine Möglichkeit, Dateidialoge vom Debuggen auszunehmen? |
AW: Dateidialog im Debug-Mode: nervende Verzögerung
Du kannst im Log dir merken welche DLLs geladen werden und baust dir in den Programmstart ein LoadLibrary ein, wo du diese schonmal vorlädst. (zumindestens die Wichtigsten davon)
Den Programmstart kann man beschleunigen, indem man nicht sofort losdebuggt (F9), sondern das Programm startet und sich erst dann zum Prozess verbindet, wenn es nötig ist. (Strg+Shift+F9 und Start > Mit Prozess verbinden) |
AW: Dateidialog im Debug-Mode: nervende Verzögerung
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Achso, du meinst die DLLs, die der OpenDialog benötigt, machen die Verzögerung aus? Müßte es dann nicht beim zweiten Aufruf von OpenDialog schneller gehen, wenn die DLLs vom ersten Aufruf bereits geladen wurden? Oder werden die gleich danach wieder entladen? Ich probier das mal mit dem LoadLibrary ... Zitat:
(Da will ich debuggen, weil ich da irgendwo eine Schutzverletzung und MemoryLeaks auslöse – ![]() |
AW: Dateidialog im Debug-Mode: nervende Verzögerung
Siehe Ereignislog ... viele der DLLs werden danach gleich wieder entladen.
Und beim Laden sucht und läd der Debugger auch noch die Debuginfos der DLLs ... das bremst schon ein bissl. Mit Prozess verbinden:
|
AW: Dateidialog im Debug-Mode: nervende Verzögerung
Zitat:
Zitat:
Wieder was dazugelernt – hab Dank, Himitsu :wink: |
AW: Dateidialog im Debug-Mode: nervende Verzögerung
Ach, einfach aus dem Log das Entladen danach kopieren (alternativ geht auch das Laden davor) und den Text um die Dateinamen durch
Delphi-Quellcode:
und
LoadLibrary(´
Delphi-Quellcode:
ersetzen lassen.
´);
PS:
Delphi-Quellcode:
if IsDebuggerPresent then
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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