oder (ist zwar langsamer), aber wenn es gewünscht wird....
Delphi-Quellcode:
initialization
SectionsAccess := TCriticalSection.Create;
CriticalSections := TStringList.Create;
finalization
while CriticalSections.Count > 0 do
begin
CriticalSections.Objects[0].Free;
CriticalSections.Delete(0);
// ich hoffe das Delete stimmt, aber wenn nicht ...
// es sollte klar sein, was gemeint ist ._.
end;
CriticalSections.Free;
SectionsAccess.Free;
end.