Einzelnen Beitrag anzeigen

a.def
(Gast)

n/a Beiträge
 
#1

Ist die Verwendung von TTask so korrekt?

  Alt 1. Jan 2017, 21:06
Wie der Titel schon erahnen lässt bezweifle ich die Richtigkeit meines Code-Stücks hier.
Ich möchte eine Arbeit starten und dabei den Hauptthread nicht einfrieren lassen.

Delphi-Quellcode:
        TTask.Run(
          procedure
         var
          i: Integer;
         begin
          i := 0;

          while i < 500 do
           begin
            inc(i);
            Sleep(10);
            Caption := IntToStr(i);
           end;
         end);
Das funktioniert einwandfrei. Aber sollte man das nicht eigentlich mit einem
Delphi-Quellcode:
          TThread.Synchronize(nil,
            procedure
           begin
           end);
Ummanteln? Wenn ich das mache, bleibt mein Hauptthread leider stehen bis die 5 Sekunden abgelaufen sind.
  Mit Zitat antworten Zitat