GrpDX ist die Position des Bitmaps. Die erreicht bei einem nach rechts laufenden Graphen den rechten Fensterrand niemals. GrpX ist der X-Wert, welcher den Fensterrand erreichen kann. Ein Graph wird ja immer weiter nach rechts gezeichnet und der X-Wert muss dementsprechend erhöht werden. GrpX wird immer weiter erhöht. Das heißt ich kann den Graphen verschieben wie ich will, der Graph wird außerhalb des Fensters weitergezeichnet und ist deshalb nicht sichtbar.
Delphi-Quellcode:
Flag := True;
...
with Grp.Canvas do
begin
MoveTo(GrpX , GrpY);
LineTo(GrpX+20, 62-Round((62/100)*cpu));
if Flag then
GrpX := GrpX+20;
GrpY := 62-Round((62/100)*cpu);
end;
Canvas.Draw(0, 0 , Bmp);
if GrpX > frmMain.Width then
begin
Flag := False;
GrpDX := GrpDX-20;
end;
Canvas.Draw(GrpDX, 16, Grp);
Lustigerweise ändert das nichts: Der Graph wiederholt sich am Ende nur noch. Die Wiederholung ist eine andere Geschichte, welche ich erst später lösen möchte. In Wirklichkeit wird der Graph nur an der falschen Position gezeichnet, bloß die Frage warum. Ich hoffe ich konnte es nun noch mal besser erklären, wenn nicht einfach schreien.