Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Hintergrundaktivität versus ausgelastet

  Alt 14. Mär 2017, 18:41
Ist die Anwendung ausgelastet, dann hat sie auch keine Zeit ein Warte-Fenster/Objekt anzuzeigen.
Der Cursor und dessen Animation wird von Windows gesteuert und hängt nicht, wenn dein Programm hängt.

Ausgelastet = es arbeitet was und lässt der VCL keine Chance andere Messages zu verarbeiten.

Ausgelastet im Sinne von "Arbeitet sehr viel, aber lässt ab und an auch Messages durch" ... könnte man die CPU-Auslastung des Hauptthreads oder der ganzen Anwendung bestimmen
und jenachdem wie "stark" es hängt, könnte der Hauptthread eventuell doch die Anzeige des "Ich arbeite" übernehmen.

Hängt es aber komplett, also VCL/Progamm/MainThread:
Da könnte könnte man ein NonVCL-Fenster in einem Thread erstellen+anzeigen oder als "externe" EXE starten+anzeigen.
Ob die Anwendung hängt, kann man erkennen, indem man vom Thread aus regelmäßig dem MainThread eine Message schickt und schaut ob und wann sie zuletzt verarbeitet wurde.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Mär 2017 um 18:45 Uhr)
  Mit Zitat antworten Zitat