2015-07-22 13 views
5

IList'i, mükemmel Delphi framework Spring4D'den Stefan Glienke'den kullanıyorum.Delphi Spring4D IList bellek taşması

Benim uygulama sırasında IList ve ben bu listeyi bir çok kez doldurduğum bir liste var. Yani, iki veya üç saat sonra listemden bir bellek taşımı var.

Bu benim listesini doldurmak nasıl:

list := TCollections.CreateList<TVisitor>; 

    for i := 0 to dataSet.RecordCount - 1 do begin 
     item := TVisitor.Create(); 

     item.Surname := dataSet.FieldByName ('firstname').AsString; 
     item.Name := dataSet.FieldByName ('secondname').AsString; 
     item.Patronymic := dataSet.FieldByName ('thirdname').AsString; 
     item.CardNumber := dataSet.FieldByName ('cardnumber').AsString; 

     list.Add (item); 

     dataSet.Next(); 
    end; 

Temizle() yöntemi, bir bellek boşaltmak değil, böylece her zaman listemi benim uygulamanın Windows Görev Yöneticisi inc bellek kullanımı doldurmak :(.

cevap

7

listeniz TVisitor örneklerini boşaltmak değil

oluştur şu şekildedir:

TCollections.CreateList<TVisitor>(True); 
+0

OMG, çok kolay! Sağol Stefan. Şimdi mükemmel çalışıyor. – Aptem