Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#9

AW: pbstMarquee richtig verwenden?

  Alt 13. Jun 2011, 17:41
Wäre zu schön um wahr zu sein, aber wenn der Hauptthread hängt, dann wird nichts neu gezeichnet, zumindest kenne ich es so Zudem habe ich hier sogar noch den Beweis, dass es nicht gehen kann:
Delphi-Quellcode:
procedure TMarqueeThread.Execute;
begin
  inherited;
  repeat
    if WaitForSingleObject(FStop, FInterval) = WAIT_TIMEOUT then
      Synchronize(DoOnTimer);
  until Terminated;
end;
Die Animation selbst wird via Thread berechnet, okay. Aber dann wird hier Synchronize aufgerufen, sodass die ProgressBar neu gezeichnet wird. Hängt der Hauptthread, dann steht somit auch der TMarqueeThread, da das Synchronize erst dann zurückkehrt, wenn der Hauptthread die gegebene Methode abgearbeitet hat, aber der steht ja...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat