Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
Delphi 12 Athens
|
AW: Synchronize inerhalb globaler Funktion durchführen
16. Feb 2011, 19:19
Ohne den konkreten Code, kann ich immer noch nur raten...
Aber: Wenn innerhalb RemoveStringInMemo ein LockList aufgerufen wird, darfst du während du das Synchronize aufrufst keien Lock auf die Liste haben, sonst ahst du schon deinen DeadLock. Durch das Synchronize ist dein Thread blockiert und im HauptThread geht das Lock nicht durch.
Wenn immer nur ein Element aus der Liste entfernt wird, merk dir doch den Index und ruf Synchronize nach dem Unlock auf.
Eventuell kannst du auch statt Synchronize Queue aufrufen, aber das kann dann ganz andere Nebeneffekte haben. Es gibt eben keine generelle Regel.
|