Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
boolexpr - утечка? о_О
лазил я как то по функциям, и наткнулся на это
подумать логически - это хэндл
выходит, каждый раз делая такую запись
создается новый boolexpr который никуда не заносится, следственно не удаляется и в конце концов остается висеть в памяти.
кто что думает по этому поводу? |
11.05.2012, 09:07 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
Hatsume_Hate,
Сначало мы создаём бол експр ((код Jass
local boolexpr e = Condion(function *** )
)) Затем юзаем его в группе ((код jass
call GroupEnumUnitsInRange(g, x,y, 50., e)
)) И затем удаляем если он больше ненужен... ((код jass
call GroupEnumUnitsInRange(g, x,y, 50., Filter(function b_filter)) )) Функциии Filter() и Condition создают новый хендл, его нужно удалять... как и локации... и тп. |
11.05.2012, 09:15 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,137Активность: |
ну я и так уже позатыкал эти утечки, просто было неожиданно когда я об этом узнал, ибо если так посмотреть - гуи это совсем нечто ужасное ._. |
11.05.2012, 09:19 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
Hatsume_Hate, ну хотя на гуи то как раз удаляется boolexpr'ы как надо, там тока группы по уродски сделаны... |
11.05.2012, 09:20 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Вы всё неправильно делаете.
|
11.05.2012, 14:42 | #5
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
Hanabishi, да это грубый пример, с локальным фильтром... Порой нужно два фильтра и 2 группы в одной функции... |
11.05.2012, 14:49 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
quq_CCCP, это пример и кто запрещает ещё создать? |
11.05.2012, 15:06 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Функции Condition () и Filter () не создают утечек - при попытке создать новый фильтр на конкретную функцию будет возвращен уже существующий.
Hanabishi как обычно написал бред, не слушайте его.
И вообще, используйте последний cJass, где есть удобные и быстрые циклы по группам. |
11.05.2012, 15:40 | #8
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,185Активность: |
ADOLF, Я праильно понял?
что: ((код jass
local boolexpr e = Condion(function *** )
call GroupEnumUnitsInRange(g, x,y, 50., e) call DestroyBoolExpr(e) И
call GroupEnumUnitsInRange(g, x,y, 50., Filter(function b_filter)) call DestroyBoolExpr(Filter(function *** ) )) одно и тоже... |
11.05.2012, 15:54 | #9
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
Но смысла его удалять в таком случае нет вообще
т.е. юзать просто такую конструкцию всегда
|
11.05.2012, 17:09 | #10
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
То, что вверху написано, не вызывает утечек. Оно работает примерно как строки, функции не плодятся. |
11.05.2012, 17:30 | #11
+2/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|