Hallo,
ich habe ein gleines Synchronize Problem!
Ich habe einen Thread der mir Daten in eine TThreadList reingibt oder rausnimmt.
Der Thread ruft nun die LockList auf und befindet sich somit in der Critical Section.
Wie kann ich aber nun in dieser Funktion auch noch die
VCL updaten?
Ein einfaches zugreifen auf das Memo in der
VCL statt einem Synchronize führt zu Problemen da der Thread zwar gegen andere Threads sicher ist, aber nicht mit der
VCL im Sync ist.
Delphi-Quellcode:
procedure RemoveData(Data : Pointer);
var
List : TList;
i : Integer;
begin
List := fStringList.LockList;
try
for i := 0 to List.Count - 1 do
begin
if List[i] = Data then
begin
List.Delete(i);
---> Synchronize(RemoveStringInMemo); ???????????????
end;
end;
finally
fStringList.Unlocklist;
end;
end;