Listbox.Clear
7 отговора
287 прегледа
Listbox.Clear
Nqkoi da znae kakuv mu e problema na Listbox.Clear Kato che li ne se osvobojdava napulno pametta zaeta ot predishnite danni. Sus WinXP sum i pravq nabliudeniq chrez TaskManager-a. Napravih si edna programka deto suzdava list sus 30 000 items. Otnachalo zaema 2MB, sled nekolkokratno zapulvane/izprazvane(Clear) na listbox-a se stiga do 7MB. Na men mi e nujno pulno izchistvane na dannite.
Da ne bi TaskManager da pokazva greshno? Zabelqzah, che napr. SADictionary pri promqna na lista s dumi ne osvobojdava napulno pametta.
by Waz Gaa
[email protected]
Da ne bi TaskManager da pokazva greshno? Zabelqzah, che napr. SADictionary pri promqna na lista s dumi ne osvobojdava napulno pametta.
by Waz Gaa
[email protected]
Re: Listbox.Clear
imach li swarzani Objects s stringowete w ListBox? ako da - trqbwa da si gi oswobodish i tqh. BTW Originalniq MemoryManager na Delphito e malko twarde slojen :)) ako nqmash twarde mnogo nishki moje da probwash edin alternatiwen mm deto moje da se swali ot sita na Borland. Probwaj go moje da ti reshi problem ako ne go namerish sfirkaj - az go imam nejde iz diska
------------------------------
I got a COMPILER, and I'm not afraid to use it!
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Re: Listbox.Clear
Избери някой друг метод за следене на паметта - това да гледаш Task Manager-a не е начина.
Има програми за следене на "лекета" (включая за делфи) - ама не са никак малки. Ако се интересуваш - ще ти дам пове4е информация
---
Е т'ва е живот!
Има програми за следене на "лекета" (включая за делфи) - ама не са никак малки. Ако се интересуваш - ще ти дам пове4е информация
---
Е т'ва е живот!
Re: Listbox.Clear
Ne we
Chisto i prosto listbox sus stringcheta. Triqt se i se advat drugi. Qvno ostava malko ot minalite programata mi zapochva da stava PRASE. A moje bi problema e v TaskManager. Chakai da vidim kakvo shte izkara PhantombigASsbitch 
by Waz Gaa
[email protected]
by Waz Gaa
[email protected]
Re: Listbox.Clear
Da. Kaji mi s kakvo da si sledq kolko MB zaema moqta programka. To sigurno i az shte moga da si namerq neshto, no kakto gledam ti znaesh seriozni 
by Waz Gaa
[email protected]
by Waz Gaa
[email protected]
Re: Listbox.Clear - Извинявай за забавянето...
но ще мога 4ак днес ве4ерта да ти отговоря - аз и без това исках да напиша нещо като малка статия по въпроса.
Още малко търпение и ще намериш отговора на въпроса.
---
Е т'ва е живот!
Още малко търпение и ще намериш отговора на въпроса.
---
Е т'ва е живот!
toolche
Привет,
Не зная дали това, което ползвам е най-доброто, но пък на мен ми върши работа и ме предпазва от това да забравя най-брутално някое "леке".
казва се MemProof и е в едно .zip-che около 1.9M - не изисква инсталация - просто пускаш и зареждаш .exe-to или .dll-a
Единственото изискване е няколко опции на компилатора за дебъг.
Интересното в случая е , че с него виждаш как само пускането и спирането на проекта води до неосвободени ресурси и грешки, например user32.dll гърми в LoadCursorA с "The System cannot find the file specified", а kernel32.dll пък прави VirtualAlloc и после остава леке.
btw: Направих проба с 30000 елемента в listbox - в един случай само стрингове , а в другия - с обекти , заемащи по 100 байта всеки - никакви грижи - след освобождаване на обектите и съответно Clear на listboxa всички броячи на MemProof са такива каквито трябва, само споменатата грешка на User32.dll остава
Така че по мое скромно мнение описания от теб случай с TaskManagera не се дължи на лекета от listboxa.
Поздрави
Не зная дали това, което ползвам е най-доброто, но пък на мен ми върши работа и ме предпазва от това да забравя най-брутално някое "леке".
казва се MemProof и е в едно .zip-che около 1.9M - не изисква инсталация - просто пускаш и зареждаш .exe-to или .dll-a
Единственото изискване е няколко опции на компилатора за дебъг.
Интересното в случая е , че с него виждаш как само пускането и спирането на проекта води до неосвободени ресурси и грешки, например user32.dll гърми в LoadCursorA с "The System cannot find the file specified", а kernel32.dll пък прави VirtualAlloc и после остава леке.
btw: Направих проба с 30000 елемента в listbox - в един случай само стрингове , а в другия - с обекти , заемащи по 100 байта всеки - никакви грижи - след освобождаване на обектите и съответно Clear на listboxa всички броячи на MemProof са такива каквито трябва, само споменатата грешка на User32.dll остава
Така че по мое скромно мнение описания от теб случай с TaskManagera не се дължи на лекета от listboxa.
Поздрави