Hallo,
ich weiß, dass man in Threads nicht auf die
GUI zugreifen darf und dies nur im Synchronize() Abschnitt bewerkstelligen soll.
Wie bekomme ich es aber hin, dass Ausgaben während des Thread Ablaufs möglich sind?
Der nachfolgende Code ist jetzt ein simples Beispiel.
In meinem Fall dauert der Thread ca. 5 Sekunden. In der Zeit soll ausgegeben werden, an welcher Stelle der Abarbeitung die App sich gerade befindet.
Delphi-Quellcode:
procedure TForm1.btn1Click(Sender: TObject);
begin
TThread.CreateAnonymousThread(procedure ()
begin
for var i: integer := 0 to 1000 do
begin
lblOutput.Text := i.ToString; // problematische Ausgabe
end;
TThread.Synchronize (TThread.CurrentThread,
procedure ()
begin
lblOutput.Text := 'Finished';
end);
end).Start;
end;
Danke.