Thema: Delphi timer zu langsam?

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#12

Re: timer zu langsam?

  Alt 28. Dez 2003, 22:50
Selber hab ich mich bisher sehr erfolgreich um Threads herumgemogelt, hab also nur wenig Erfahrung mit Synchronisieren.

Das dürfte aber in etwa so aussehen:
Delphi-Quellcode:
While True do Begin
  Sleep(1);

  {Zugriff für andere Threads auf das Canvas sperren, auch für den Haupttread}
  Form1.Canvas.Lock;

  {auf Canvas zeichnen}
  Form1.Canvas.Pixels[Random(Form1.ClientWidth), Random(Form1.ClientHeight)] := clRed;

  {Zugriff wieder freigeben}
  Form1.Canvas.UnLock;
End;
Das geht natürlich nicht, der Hauptthread braucht ja auch ab und zu mal die Zugrifsrechte:
Delphi-Quellcode:
{Zugriff für andere Threads auf das Canvas sperren, auch für den Haupttread}
Form1.Canvas.Lock;

While True do Begin
  Sleep(1);

  {auf Canvas zeichnen}
  Form1.Canvas.Pixels[Random(Form1.ClientWidth), Random(Form1.ClientHeight)] := clRed;
End;

{Zugriff wieder freigeben}
Form1.Canvas.UnLock;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat