2015-07-22 8 views
5

मैं स्टीफन ग्लिएनके द्वारा उत्कृष्ट डेल्फी फ्रेमवर्क स्प्रिंग 4 डी से आईएलआईस्ट का उपयोग कर रहा हूं।डेल्फी स्प्रिंग 4 डी आईलीस्ट मेमोरी ओवरफ्लो

मेरे पास सूची सूची है और मैं अपने आवेदन के दौरान कई बार इस सूची को फिर से भरता हूं। तो, दो या तीन घंटों के बाद मेरी सूची में एक मेमोरी ओवरफ्लो है।

यह मैं अपने सूची कैसे पॉप्युलेट है:

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; 

साफ() प्रणाली स्मृति मुक्त नहीं है, इसलिए हर बार मैं अपने सूची अपने आवेदन की Windows कार्य प्रबंधक इंक स्मृति उपयोग को भरने :(।

उत्तर

7

आपकी सूची TVisitor उदाहरणों मुक्त नहीं करता

बनाएं इस तरह है:

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

ओएमजी, यह इतना आसान है! धन्यवाद स्टीफन। अब यह पूरी तरह से काम करता है। – Aptem

संबंधित मुद्दे