Tja da es wohl nicht am zeichnen liegt musst du wohl oder übel dich an den "bösen" Threads versuchen
Das ist eigentlich recht einfach, in deinem Fall jedenfalls:
Delphi-Quellcode:
{Einfach mit Neu->Thread-Objekt einen neuen VCL Thread erstellen}
//Hier deine methode die das zeichnen auslösen soll (OHNE Parameter)
procedure Zeichnen;
begin
//TODO: Code einfügen ;)
end;
procedure TZeichenThread.Execute;
var t: Cardinal;
begin
repeat
sleep(1);
//demit keine hohe Prozessorauslastung enststeht (aber ungenau)
if GetTickCount-t >= 900
then
begin
Synchronize(Zeichnen);
t := GetTickCount;
end;
until Self.Terminated;
//Bis zum Thread ende
Das ist so das simpelste was man so machen kann...
Wenn du globale Variablen hast auf die zur gleichen zeit ein anderer Thread zugreift (z.B. Hauptprogramm) musst du noch mit critical Sections arbeiten...
Dazu dieses kurze
Tutorial
mfg phreax
Und dann war da noch der junge Mann ....
... der unbedingt Schriftsteller werden wollte.
Er wollte Emotionen wecken und die Leute zum weinen bringen.
Sein Traum wurde wahr, er verfasst heute die Fehlermeldungen bei Microsoft!