瀏覽代碼

* Remove using reverse search, speed up free

git-svn-id: trunk@19280 -
michael 14 年之前
父節點
當前提交
d766e671a9
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      rtl/objpas/classes/collect.inc

+ 8 - 2
rtl/objpas/classes/collect.inc

@@ -215,9 +215,15 @@ end;
 
 
 procedure TCollection.RemoveItem(Item: TCollectionItem);
+
+Var
+  I : Integer;
+
 begin
-        Notify(Item,cnExtracting);
-  FItems.Remove(Pointer(Item));
+  Notify(Item,cnExtracting);
+  I:=FItems.IndexOfItem(Item,fromEnd);
+  If (I<>-1) then
+    FItems.Delete(I);
   Item.FCollection:=Nil;
   Changed;
 end;