Nur scheint man damit keine anonyme Funktionen aufrufen zu können.
Doch kann man, aber wenn man die Dokumentation nicht oder nicht richtig liest, dann ...
Denn man kann nur parameterlose und vorallem rückgabewertlose vordefinierte Synchronize-Methoden ausrufen, so wie das schon immer war.
Und man muß natürlich auch beachten was man alles als Parameter übergeben muß.
Delphi-Quellcode:
TThread.Synchronize(nil, procedure
begin
MeinString := 'Nur ein Test';
end);
TThread.Synchronize(Thread1, procedure
begin
MeinString := 'Nur ein Test';
end);
{T}Thread1.Synchronize(procedure
begin
MeinString := 'Nur ein Test';
end);
...
@Medium: Natürlich müsste doch
jeder Zugriff auf List in die CS rein, also auch das
if not List.IsEmpty then
.
Und bezüglich der sinnlosen CPU-Auslastung könnte/sollte man das Ganze noch um Events erweitern.