AGB  ·  Datenschutz  ·  Impressum  







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

TForm schließen dauert lange

Ein Thema von backdraft · begonnen am 25. Mär 2023 · letzter Beitrag vom 26. Mär 2023
Antwort Antwort
Seite 1 von 2  1 2      
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#1

TForm schließen dauert lange

  Alt 25. Mär 2023, 19:37
Hallo zusammen,

ich habe eine Form, die dauert ca. 10 Sekunden, bis sie geschlossen wird.
Auf der Maske sind sehr viele Komponenten, mit Frames die geschachtelt sind.

Gibt es eine einfache Möglichkeit zu erkennen welcher Destroy lange dauert?

LG
Oliver
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TForm schließen dauert lange

  Alt 25. Mär 2023, 20:20
Du brauchst doch nur das Programm im Debugger starten und dann in der Wartezeit auf Pause zu drücken. Dann schaust du nach, was der erste Thread in der Liste gerade tut. Das musst du ggf. ein paarmal wiederholen, falls das nicht gleich eindeutig ist.

Viele Komponenten heißt aber auch viele Benachrichtigungen usw., die da geschickt werden. Das kann schon dauern.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TForm schließen dauert lange

  Alt 25. Mär 2023, 20:42
Du brauchst doch nur das Programm im Debugger starten und dann in der Wartezeit auf Pause zu drücken. Dann schaust du nach, was der erste Thread in der Liste gerade tut. Das musst du ggf. ein paarmal wiederholen, falls das nicht gleich eindeutig ist.

Viele Komponenten heißt aber auch viele Benachrichtigungen usw., die da geschickt werden. Das kann schon dauern.
Hab ich schon probiert, ich lande immer wieder woanders, weil so viele Threads laufen

Mein Idee wäre eher sowas wie sich in den TComponent.Destroy zu hängen.
Und dann quasi Zeit merken, inherited Destroy aufrufen, Dauer berechnen, ausgeben.
Ich meine mich auch zu entsinnen, dass ich mal irgendwo über einen solchen Code gestolpert bin, wie man sich in eine Methode hängt.
Leider finde ich nichts passendes bei Google.
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#4

AW: TForm schließen dauert lange

  Alt 25. Mär 2023, 22:56
Verwendest Du zufälligerweise TMS-Komponenten auf der Form?
Roland
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TForm schließen dauert lange

  Alt 25. Mär 2023, 23:54
Verwendest Du zufälligerweise TMS-Komponenten auf der Form?
Nein, ich denke es kommt vom ActiveQueryBuilder.
Sonst sind es nur DevExpress Sachen.
Oliver
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
335 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TForm schließen dauert lange

  Alt 26. Mär 2023, 03:40
Habs wiedergefunden...

https://github.com/MahdiSafsafi/DDetours
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TForm schließen dauert lange

  Alt 26. Mär 2023, 08:44
Hab ich schon probiert, ich lande immer wieder woanders, weil so viele Threads laufen
Andere Threads haben damit aber nichts zu tun. Hast du auch wirklich den Hauptthread angeschaut?

Wenn du auf Pause gehst und das Programm wirklich beim Entladen des Formulars ist, dann musst du dort auch landen. Vielleicht ist es nicht gleich die Stelle, die lange dauert, aber dort landen musst du. Kannst du von dem Stacktrace einfach einmal einen Screenshot posten?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TForm schließen dauert lange

  Alt 26. Mär 2023, 12:49
Mal AQTime oder Ähnliches benutzen?

Nee, man landet nicht immer automatisch im Hauptthread ,
aber ins FormCreate, oder besser noch als eine der ersten Zeilen, vor Application.Run; , in die DPR:
TThread.NameThreadForDebugging('MainThread');


Und endlich mal Emba beibringen, dass es von Haus aus ins Programm gehört (direkt in die Initialisierung der RTL)
und dass sie endlich mal, nach vielen vielen vielen Jahren, die neue API von Windows benutzten sollen,
denn deren eigener Dreck arbeitet mit einer stillen Exception und wenn man den Debugger erst später anhängt, dann weiß der Debugger nichts von diesem Namen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (26. Mär 2023 um 13:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: TForm schließen dauert lange

  Alt 26. Mär 2023, 17:19
Nee, man landet nicht immer automatisch im Hauptthread ,
aber ins FormCreate, oder besser noch als eine der ersten Zeilen, vor Application.Run; , in die DPR:
TThread.NameThreadForDebugging('MainThread');
Ich hatte noch nie den Fall, dass der Hauptthread nicht als erstes in der Threadliste aufgetaucht ist.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: TForm schließen dauert lange

  Alt 26. Mär 2023, 22:27
Ich schon einige Male, aber häufiger dann, wenn man sich nachträglich mit dem Debugger anhängt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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