Хотел бы узнать, почему ф-ция Matching unit утечна, и какие есть способы, чтобы ее обойти?
Принятый ответ
короче вопрос закрываю ибо все ответы даны а обсуждение отошло от темы
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован EnergyFrost
К примеру:
А что касается "почему ф-ция Matching unit утечна, и какие есть способы, чтобы ее обойти", то вам следует пройти в раздел "Статьи". Клац и клац. Мне кажется, что вам лучше самому прочитать, чем я буду копипастить статью целиком
Если я неверно понял, о какой функции идет речь, то поправьте меня
в джасс она называется так
поэтому я прошу пруф
в каком месте она создаёт утечку
ибо на данный момент вопрос афтара звучит так
"почему крокодилы летают на крыльях и как это исправить"
у меня есть только 1 ответ на подобный вопрос
вы курите слишком много травы
либо пока сам не курну травы
Отредактирован EnergyFrost
Обычно ее используют при отсеивании юнитов в группе. А от в гуи это как раз то, отрывок чего я присоединил. То есть утечку создает группа.
Liebendig1993: В свое время этот комментарий породил у меня тот же вопрос.
GetFilterUnit() не вызывает утечки, ибо возвращает только существующего на карте юнита, а не плодить нового как GetUnitLoc() которая каждый раз плодит по локейшену, но это многие не помнят.
Ах да чуть не забыл, там половина гуи действий с группами вызвывает утечки то локейшены то группы, именно функция типа GetUnitsInRectMatching, вот тут да, не удаляется группа.
Отредактирован EnergyFrost
loop
set u = FirstOfGroup(udg_G)
if Условия подбора юнита u then
call GroupRemoveUnit(udg_G,u)
exitwhen u == null
endloop
можешь использовать вот такую конструкцию, чтобы избежать вызовов функции с matching unit