Форум: "KOL";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
ВнизКак уничтожить форму с компонентами Найти похожие ветки
← →
Trible (2006-12-23 22:31) [0]Есть две формы с какими-либо компонентами.
Вторую форму создаем и унчтожаем руками.
Но при уничтожении остаеться не освобожденная память (MemProof).
Как УНИЧТОЖИТЬ форму с ее компонентами.. ?
Освобождаю как обычно - Form2.Form.free.
Только не говорите про Add2Autofree, это ж придеться к каждому компоненту
руками писать... У меня их там многовато...
← →
ANTPro © (2006-12-23 22:38) [1]> [0] Trible (23.12.06 22:31)
> Только не говорите про Add2Autofree, это ж придеться к каждому
> компоненту
> руками писать...
: )
← →
MTsv DN © (2006-12-23 23:07) [2]> Только не говорите про Add2Autofree, это ж придеться к каждому
> компоненту
> руками писать...
А зачем руками-то??? Я на форуме уже пару раз сканер компонентов выкладывал, все автоматом и установится :)
http://delphimaster.net/view/11-1163643952/ - здесь посмотрите. Использовать элементарно...
← →
Trible (2006-12-24 00:15) [3]Вощем нет стандартного средства. Нужно опять мудрить...
ANTPro так улыбнулся, я уж обрадовался, думал есть классное решение, которое все знают, а я нет.. А может ANTPro знает, но не хочет говорить??
ANTPro, как вы бы сделали в этом случае?
Допустим у вас много форм и на каждой форме по 20 компонентов. А?
← →
Trible (2006-12-24 00:18) [4]
Я на форуме уже пару раз сканер компонентов выкладывал, все автоматом и установится :)
Inc файл разных форм обновляеться время от времени... Так что задолбаешся каждый раз этот сканер включать.
← →
Trible (2006-12-24 00:19) [5]Хотя за решение спасибо. Самое удобное в этом случае.
← →
ANTPro © (2006-12-24 17:40) [6]> [5] Trible (24.12.06 00:19)
> Самое удобное в этом случае.
Вот-вот.
> [3] Trible (24.12.06 00:15)
> Допустим у вас много форм и на каждой форме по 20 компонентов.
> А?
Если конторллы создаются MCK, то Add2Autofree добавится само...
Если вручную то, возможно имеет смысл сделать массив контролов (с ним и работать проще):CtrlInForm:array of PControl;
← →
Trible (2006-12-24 18:12) [7]
Если конторллы создаются MCK, то Add2Autofree добавится само...
Да неужели? Что то я в inc файле этого не заметил, да и memproof тоже.
← →
ANTPro © (2006-12-24 18:36) [8]> [7] Trible (24.12.06 18:12)
> Что то я в inc файле этого не заметил
Кстати да, Add2Autofree не для всех контроллов... что-то изменилось...
> [7] Trible (24.12.06 18:12)
> memproof тоже.
Не юзал этого зверя пока еще...
А Add2Autofree только добавляет объект в список, так что memproof на нее ругатся не должен...
← →
Vladimir Kladov (2006-12-24 20:25) [9]э э! Визуальные контролы сами добавляются, когда создаются.
← →
ANTPro © (2006-12-24 20:49) [10]> [9] Vladimir Kladov (24.12.06 20:25)
> э э!
: )
Единственная строка с Add2AutoFree [MCK2.49,KOL2.48] в Unit1_1.inc :Result.Form.Add2AutoFree( Result );
← →
ANTPro © (2006-12-24 21:15) [11]> [9] Vladimir Kladov (24.12.06 20:25)
Теперь понял...
← →
Trible (2006-12-25 14:14) [12]Народы объясните мне причину. Т.к. я в основном использую Grush компоненты, я в mck добавил add2autofree - чтобы само генерилось..
В итоге в inc файле генериться нужная ведь вида :
Result.GRushPanel1 := PGRushControl( NewGRushPanel(Result.Form).SetAlign ( caClient ) );
Result.GRushPanel1.Add2AutoFree(Result);
Но теперь при уничтожении (закрытии) любой формы вылетает AV блин. В чем дело???
← →
Galkov © (2006-12-25 14:40) [13]Логичнее выглядело бы добавление того, кого создал, ИМХО
← →
Trible (2006-12-25 15:42) [14]Ну эт верно, просто все кричат что Add2Autofree - решение всех проблем.
На форме из компонентов лежит Grush кнопка. При закрытии AV :(
← →
Vladimir Kladov (2006-12-25 17:05) [15]В SetParent добавляется. Все контролы создаются с родителем через _NewWindowed. В том числе и GRush и любые другие дополнительные. При добавлении не проверяется, что уже есть в списке, и добавляется повторно. Соответственно, на выходе будет повторно уничтожить уже уничтоженный объект.
← →
Trible (2006-12-26 00:11) [16]Почему тогда memproof показывает утечку? А если форму повторно окрыть не уничтожая, то утечки нет.
← →
vampir_infernal (2006-12-26 06:46) [17]MemProof часто показывает утечку, когда ее на деле нет. На 100% верить ему я бы не стал.
← →
Trible (2006-12-26 13:53) [18]
MemProof часто показывает утечку, когда ее на деле нет.
Вы отвечаете за свои слова? Доказать сможете?
← →
SergeR © (2006-12-26 16:35) [19]Утечка была TObj.Final в asm версии. В 2.49 это исправлено. :\
В GRush`е тоже была утечка, тоже недавно исправлено.
← →
Trible (2006-12-26 17:37) [20]Я в курсе. Стоит 49 - ая.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.045 c