Thema: Delphi GetTickCount zögert

Einzelnen Beitrag anzeigen

Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#1

GetTickCount zögert

  Alt 1. Sep 2006, 21:47
. . . HI!

Mir ist gerade was komisches passiert. Wenn man auf einem Image.Canvas außerhalb des Canvas-Bereiches zeichnet, zögert die Aktualisierung von GetTickCount.

Ist ziemlich schwer zu erklären, deswegen hier einfach der Code, dann könnt ihr's selber ausprobieren:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Start, Y: Integer;
begin
  Start := GetTickCount;
  Y := 0;
  repeat
    Image1.Canvas.Ellipse(0, Y, 50, Y+50);
    Y := Y - 10;
    TrackBar1.Position := GetTickCount-Start;
    Application.ProcessMessages;
  until TrackBar1.Position = TrackBar1.Max;
end;
Auf der Form befinden sich also Image, TrackBar und Button.

Dieses Problem tritt nicht auf, wenn man statt eines Images eine PaintBox benutzt. Wenn man die Zeile Application.ProcessMessages; weglässt, läuft der TrackBar auch glatt.

Kennt jemand das Problem? Warum ist das so?

EDIT:
TrackBar.Min ist 0, Max ca. 3000. Y könnt ihr am Anfang auch auf nen höheren Wert setzen (500), und statt um 10 könnt ihr es auch um 1 oder so erniedrigen.
  Mit Zitat antworten Zitat