Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Zugriffsverletzung nach Objektzerstörung innerhalb Threa

  Alt 1. Dez 2006, 09:48
TList, und somit auch TObjectlist, sind nicht threadsafe. Wenn man solche Listen in Threads verwenden möchte, muss sichergestellt sein, dass wirklich immer nur ein Thread auf diese Liste zugreift! D.h. wenn der Nebenthread mit der Liste arbeitet, darf der Hauptthread nicht auf diese Liste zugreifen. ganz besonders gefährlich sind dabei natürlich Schreibzugriffe (Stichwort: Umkopieren des Zeigerarrays).
Eine Möglichkeit sind TThreadlists. Oder man macht das selbst und arbeitet mit Criticalsections.

Zu dem zerstörten Objekt: Wird das auch aus der Liste entfernt? Hilft es, wenn du nicht nur Free aufrufst, sondern FreeAndNil?
  Mit Zitat antworten Zitat