![]() |
IDE bleibt hängen
Moin,
Wenn ich mein Projekt öffne, dann wird bei mir das Hauptformular direkt geöffnet. Das passiert auch in einer akzeptablen Zeit. Wenn ich dann allerdings das Hauptformular in der IDE schließe, friert die IDE für >5 Minuten komplett ein. Danach reagiert sie wieder und ich kann ganz normal an meinem Projekt arbeiten. Dateien öffnen, schließen, speichern, etc., alles normal. Nur das erste Schließen des Hauptformular in der IDE dauert ewig. Ich hab keine Idee, woran das liegen könnte. Ich hab schon probiert, den bds.exe-Prozess als Ausnahme im Defender einzutragen. Hat nichts gebracht. Ich hab auch *.pas und *.dfm als Ausnahme eingetragen. Hat auch nichts gebracht. Das Verhalten habe ich schon länger (mehrere Monate), hatte aber bisher nicht die Muße, mich damit zu befassen. Da es ja nur 1-2 am Tag nervt, wenn man das Projekt öffnet. Daher kann ich auch nicht mehr nachvollziehen, ob es dafür einen bestimmten Auslöser gab. Ich arbeite mit
Jemand eine Idee? |
AW: IDE bleibt hängen
Was sagt denn in der Zeit der Stacktrace? Wirft die IDE irgendwelche Exceptions im Hintergrund? Passiert in der Zeit etwas im Process Monitor?
|
AW: IDE bleibt hängen
Falls noch nicht geschehen, kannst du mal versuchen die TrackingSystem<nnn>.bpl aus den Known IDE Packages zu entfernen - sowohl unter HKCU als auch unter HKLM. Ein weiterer Kandidat dafür ist die CommunityToolbar<nnn>.bpl.
|
AW: IDE bleibt hängen
Das Entfernen der Packages hat leider nichts gebracht.
Ich hab das dann mal mit dem ProcessMonitor untersucht. Es liegt daran, dass er sich an den DCUs kaputt sucht. Da kommen wohl mehrere Faktoren zusammen:
Ich werde jetzt erst mal versuchen, ob ich auf die Unit-Gültigkeitsbereichsnamen verzichten kann. Das sollte schon Besserung bringen. Hat jemand ein Tipp zu dem Ausgabeverzeichnis für die Units? Kann man die Suchreihenfolge irgendwie beeinflussen? |
AW: IDE bleibt hängen
Wie sieht denn der Suchpfad des Projekts des aus?
|
AW: IDE bleibt hängen
Der Suchpfad des Projekts ist leer. Sollte ich da den Ausgabepfad für die DCUs eintragen? Ich dachte, in den Suchpfad gehört nur der Pfad zu den Quelltexten.
|
AW: IDE bleibt hängen
Zitat:
Wenn der Suchpfad leer ist, kommt lediglich noch der Bibliothekspfad aus den IDE-Optionen zum Tragen. Allerdings sollte der DCU-Ausgabepfad eigentlich Vorrang haben. |
AW: IDE bleibt hängen
Interessant ist, dass er immer erst die Unit-Gültigkeitsbereichsnamen durchprobiert.
Mal ein Beispiel, wie ich es im ProcessMonitor nachvollziehen kann. Die IDE sucht die Datei "MyServicesUni.dcu" (eine Datei, die zu UniDAC gehört). Die IDE sucht nun zuerst nach der Datei "WinApi.MyServicesUni.dcu" in folgender Reihenfolge:
Dies wiederholt die IDE nun für "System.MyServicesUni.dcu", dann für "Data.Win.MyServicesUni.dcu", usw. Nach 2714 fehlerhaften Suchen nach der Datei, kommt die IDE endlich mal auf die Idee, nach "MyServicesUni.dcu" zu suchen, welche sie dann im Bibliothekspfad findet. Würde die IDE nicht erst alle Unit-Gültigkeitsbereichsnamen durchprobieren, hätte sie die Datei schon nach 19 Schritten gefunden, nicht erst nach über 2000. |
AW: IDE bleibt hängen
Das sind doch eigentlich Dinge, die erst beim Compilieren auftauchen sollten, oder? Könnte es sein, daß hier Code Insight oder irgendein anderes Tool seine Finger im Spiel hat?
|
AW: IDE bleibt hängen
Zitat:
|
AW: IDE bleibt hängen
Wenn mein Delphi 7 auch altpacken ist, am Anfang wird im Hintergrund erstmal kompiliert, um eben die Infos für Code Insight "zusammenzudaddeln". Das hat damals schon bei großen Projekten gedauert und ist heute, bei deutlich mehr Umfang, sicherlich auch nicht unbedingt sehr schnell.
Was mir geholfen hat: Die automatisch erscheinende Programmierhilfe in den IDE-Optionen deaktivieren oder zumindest die Wartezeit, bis sie aufgerufen, möglichst hoch einzustellen (Shortcut Strg+Leertaste funktioniert weiterhin). Es reicht ja eine (wenn auch unbeabsichtigte) Mausbewegung über den Quelltext aus, um die Programmierhilfe "anzustoßen". Und das dauert dann am Anfang etwas arg lang. Ist das bei heutigen Delphis eventuell auch noch so? Was das Suchen nach Dateien angeht: Wenn das so ist, wie beschrieben, wäre das für meine Begriffe ein Fehler. Zuerst sollte nach dem gesucht werden, was im Quelltext steht und nur dann, wenn das nicht gefunden wird, von mir aus auch nach "geratenen" Namenserweiterungen. So, wie beschrieben, erscheint mir das suboptimal. Das sollte man (find' ich) als Fehler melden. |
AW: IDE bleibt hängen
Also, ich hab jetzt die Bereichsnamen auf das allernötigste eingedampft (da stand noch "bde" drin :stupid: ). Jetzt es ist schon spürbar schneller.
Ob ich die Verzeichnisstruktur wieder etwas flacher mache, muss ich mir noch überlegen. Das würde sicher auch noch wieder einiges bringen. Aber darauf möchte ich eigentlich nicht verzichten. |
AW: IDE bleibt hängen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hatte mal einen Vergleich der Compilierzeiten für den MMX Code Explorer gemacht, wobei für die Compiler < CE2 mal mit und mal ohne die Unit-Scope-Names compiliert wurde. Wenn das in deinem Fall verantwortliche Element dort ebenso reagiert, erklärt das den wahrgenommenen Effekt.
Leider kann ich beim MMX erst auf die Scope-Names verzichten, wenn ich den Support für die älteren Delphi-Versionen einstelle - das ist aber schon für die nahe Zukunft geplant. |
AW: IDE bleibt hängen
Zitat:
|
AW: IDE bleibt hängen
Super! Mit dem FixPack ist es um ein vielfaches schneller. Ich danke Dir! :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:25 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