I\'ve seen many mentions of bugs in Delphi 2009 generics, but never expected something so basic to fail in Update 3, no less. Calling IndexOf on a generic TList or TObjectLi
Have a look at this question. Why is TList.Remove() producing an EAccessViolation error?
In particular, try creating your TList like this
TList.Create(TComparer.Default);