Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#9

AW: Open und Savedialoge zu langsam

  Alt 14. Apr 2015, 14:49
Wie bereits richtig erkannt, hängt die Trägheit der Open- und Save-Dialoge beim Start in der IDE mit dem Debug-Modus zusammen. Damit muß man dann irgendwie leben. Kann man auch: Als Quasi-Notlösung habe ich mir angewöhnt, dort, wo ich beim Testen regelmäßig Open- und/oder Save-Dialoge benötige, für die Zeit des Testens und Entwickelns den Aufruf des Dialogs vorübergehend auszukommentieren und durch einen "fest verdrahteten" Dateinamen zu ersetzen.
Delphi-Quellcode:
Funktion DateiEinlesen : String;
begin
// If OpDlg.Execute
// Then
// Result := OpDlg.FileName
// Else
// Result := '';
  Result := 'C:\Temp\MeinText.txt';
end;
Dem kann man über die Umgebungsvariable _NO_DEBUG_HEAD=1 entgegenwirken. Aber das alleine hilft nicht. Der weit größere Zeitverbrauch kommt durch das Starten von Threads durch all die ShellExtensions. Dabei bremst der Debugger sehr stark aus. Vor allem der Debugger von Delphi/C++Builder, da er eine "WaitForDebugEvent => PostMessage an DebugWindow-Thread => WaitForSingleObject" Architektur hat, die zusätzlich Zeit verbraucht.
Das ist heftig, da kann man sich einen Wolf warten, soviel Kaffee kann man gar nicht schlucken, wie man da jeden Tag kochen könnte.

Was ich jetzt nicht auf Anhieb verstehe: Was meinst du mit ShellExtensions? Sind das die Erweiterungen, die im Objektmenü des Explorers auftauchen? Wenn ja, würde es was bringen, diese beim Entwickeln vorübergehend abzuschalten?

Geändert von Perlsau (14. Apr 2015 um 14:54 Uhr)
  Mit Zitat antworten Zitat