Was sich verändert hat (in der
OH), was aber eigetnlich schon immer hätte gelten dürfen.
Halte
niemals einen Thread mit
TThread.Suspend an (mit Ausnahme, wenn der Thread suspended erstellt wird).
Und dann mit
TThread.Start starten, anstatt mit
TThread.Resume. (es geht zwar auch noch mit der alten Methode, der Compiler würde dir dort inzwischen einen Hinweis ausgeben).
Auch die Generics können sehr praktisch sein.
Schau dir am Besten mal alle Methoden und Property von
TThread durch, nach etwas was dir gefallen oder für dich praktisch sein könnte.
Delphi-Quellcode:
// dieser Code läuft in irgendeinem Thread
var
X, Y: string;
begin
X := 'Hallo';
TThread.Synchronize(nil, procedure
begin
ShowMessage(X);
InputQuery(Application.Titel, 'gib was ein', Y);
end;
MachWas(Y);
end;
Delphi-Quellcode:
// das hier z.B. im MainThread
TThread.CreateAnonymousThread(procedure
begin
// das hier läuft jetzt in einem anderem Thread
end;
// wieder zurück, noch bevor der andere/neue Thread fertig ist