Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TCanvas Update [Geloßt!] (https://www.delphipraxis.net/41604-tcanvas-update-%5Bgelosst-%5D.html)

Skyrunner2 5. Mär 2005 20:40


TCanvas Update [Geloßt!]
 
wenn man etwas innerhalb einer Rekursiven Prozedure zeichnen lässt, so wird das TCanvas feld nicht bis zur beendung der rekursionen erneuert.

warum, und wie kann ich dies ändern?

edit: Ich habe die Lösung gefunden: application.processmessages; (unit FORMS) aufrufen!

sniper_w 5. Mär 2005 20:52

Re: TCanvas Update [Geloßt!]
 
Ich könnte das aber nicht feststellen.

Delphi-Quellcode:
var
  Form1: TForm1;
  a : integer = 0;

implementation

{$R *.dfm}

procedure Paint_me();
 var n:integer;
begin
 if a >10 then Exit Else
        begin
         Inc(a);
         for n := 0 to 100 do
         with Form1 do
         Canvas.Rectangle(random(width),random(height),random(width),random(height));
         Paint_me;
        end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 a := 0;
 Paint_me;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Randomize;
end;

Skyrunner2 5. Mär 2005 21:24

Re: TCanvas Update [Geloßt!]
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier ist mein programm:


Der aufruf von application.processmessages; kann festgelegt werden mit der checkbox "Aktualisieren".


einfach mal ein labyrint mit entweder dem DFS oder Prim algorithmus ertellen und lösen.. dass dan einmal mit und einmal ohne "aktualisieren".. ;)

OOPS!!!! - DAS IST EINE ALTE VERSION in der die abfrage nach "Aktualisieren" beim lösen NICHT stat findent..
neue version hochgeladen (zeit siehe edit)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz