Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Komponenten Entwicklung, IDE hängt sich auf, CPU 100% (gelöst) (https://www.delphipraxis.net/193046-komponenten-entwicklung-ide-haengt-sich-auf-cpu-100-geloest.html)

4dk2 14. Jun 2017 08:36

Delphi-Version: 10 Berlin

Komponenten Entwicklung, IDE hängt sich auf, CPU 100% (gelöst)
 
Liste der Anhänge anzeigen (Anzahl: 3)
Ich bin letztens durch einen kleinen programmier Fehler auf ein Problem in der IDE gestoßen.
Vielleicht hilft es dem einen oder anderen.

Ich habe bei der Notification Methode, vergessen das inherited aufzurufen.

Delphi-Quellcode:
procedure TTestComp.Notification(AComponent: TComponent; Operation: TOperation);
begin
  //inherited;
  //wenn inherited auskommentiert hängt die IDE (Designer) beim schliesen von einem formular auf, wenn dort eine instanz zu der Komponente existiert.
  //zur Laufzeit gibt es keine Probleme

end;
Zur Laufzeit gibt es keine Fehler. Auch lässt sich die Komponente ohne Problem auf ein Formular setzten, oder auch wieder entfernen.
Der Fehler tritt auf, wenn eine Instanz der Komponente auf einem Formular ist, und man im Designer das Formular schließt.

Dann hängt sich Delphi auf, CPU geht auf 100%. Sieht aus wie eine Endlosschleife.
IDE muss dann per Taskmanager gekillt werden.

Ich habe fast nen halben Tag mit der Suche verbracht, da es auch nicht grade kleine Komponenten waren und auch zich Abhängigkeiten drin waren, hatte ich eigentlich die Destruktoren im Verdacht.

Meine Hoffnung ist, das mit dem Post vielleicht dem einen oder andren schneller geholfen werden kann.

Gerne können die Experten auch kommentieren ob es sich um einen IDE Bug handelt oder einfach nur um meine Dummheit :-D

Getestet nur mit XE10.1 Berlin.
Testprokjekt im Anhang (Anhang 47517), wer gerne mal seine IDE Crashen will :wink:

Ablauf:
1. ProjectGroup_Test öffnen
2. TestKomp.bpl installieren
3. TestExe->uFTest öffnen
4. TTestKomp aufs formular hinzufügen
5. Anhang 47518
6. Tadaaaa : Anhang 47519

jaenicke 14. Jun 2017 10:30

AW: Komponenten Entwicklung, IDE hängt sich auf, CPU 100% (gelöst)
 
Ich weiß ja nicht, ob du das benutzt hast und es trotzdem so lange gedauert hat, deshalb der Hinweis:
Einen solchen Fehler kannst du normalerweise relativ leicht finden.

Einfach Delphi selbst als Hostanwendung des Packages eintragen und F9 drücken. Dann startet Delphi ein zweites Mal, du machst dort was zum Fehler führt, siehst direkt ggf. auftretende Exceptions und kannst in diesem Fall einfach anhalten und schauen wo die Endlosschleife passiert.

4dk2 14. Jun 2017 13:05

AW: Komponenten Entwicklung, IDE hängt sich auf, CPU 100% (gelöst)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anhang 47526

ok, daran hab ich nicht gedacht, aber es läuft nur das im CPU Fenster, kein Aufrufstack. Gute Idee, hätte aber nichts gebracht.

jaenicke 14. Jun 2017 13:17

AW: Komponenten Entwicklung, IDE hängt sich auf, CPU 100% (gelöst)
 
Du musst dann in die Threadliste gehen und dort den ersten Thread anklicken. Das ist normalerweise der GUI Thread.

Das gilt nicht nur für die IDE, sondern generell.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:54 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