Einzelnen Beitrag anzeigen

jziersch

Registriert seit: 9. Okt 2003
Ort: München
240 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Probleme beim Debuggen

  Alt 18. Mär 2022, 11:04
Eigentlich funktioniert GdiFlush bei einer synchronen Ausgabe.
Im OnPaint ist es meines Erachtens überflüssig, denn hier bist Du in der Windows message loop. Die Frage ist auch, auf welche Canvas Du da gerade zeichnest. Die könnte auch gepuffert sein.

Kleiner Test:

Code:
var i : Integer;
begin
  for i := 0 to 100 do
  begin
    PaintBox1.Canvas.FillRect(Rect(0,0,PaintBox1.Width,PaintBox1.Height));
    PaintBox1.Canvas.TextOut(10,10, IntToStr(i));
    GdiFlush;
    Sleep(10);
  end;
end;
Probier mal mit und ohne GdiFlush.

Das geht auch ohne PaintBox

Code:
var i : Integer;
    dc : TControlCanvas;
begin
  dc := TControlCanvas.Create;
  dc.Control := Panel2;
  for i := 0 to 100 do
  begin
    dc.FillRect(Rect(0,0,100,100));
    dc.TextOut(10,10, IntToStr(i));
   // GdiFlush;
    Sleep(10);
  end;
  dc.Free;
end;
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat