Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Hintergrundaktivität versus ausgelastet

  Alt 14. Mär 2017, 19: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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