12 ощибок в одной функции О_о
|
|
Rehan | Дата: Пятница, 26 Ноября 2010, 18:11:30 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
| Ни как не можем понять почему 1 функция порождает 12! ошибок, чаще с аргументом "отсутствует название", заодно, отвечая на вопрос помогите, пожалуйста, справиться с утечками. Code function order1move takes unit unit1, unit unit2, real dist, real angle returns nothing local real angleun local location point set angleun = AngleBetweenPoints(GetUnitLoc(unit2), GetUnitLoc(unit1)) set point = PolarProjectionBJ(GetUnitLoc(unit2), dist, angleun + angle) call IssuePointOrderLocBJ( unit1, "blink", point ) set angleun = 0 set point = null endfunction
Требуются тестеры, обращайтесь.
|
|
|
|
rixt7956 | Дата: Пятница, 26 Ноября 2010, 19:00:46 | Сообщение # 2 |
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
| Rehan, Выложи весь код, возможно ты указал не все аргументы при вызове этой функции
|
|
|
|
Rehan | Дата: Пятница, 26 Ноября 2010, 19:54:23 | Сообщение # 3 |
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
| Ошибка не при вызове функции, а при её существовании, боль ше нигде о неё речи нет. Функция вставлена в "специфический код программы"Добавлено (26-11-2010, 19:54) --------------------------------------------- уже всё О_о по неизведанным причинам ошибка шла сама собой.. Может кто помочь в устранении утечек? Чем заменить полярку? А её подобие нужно..
Требуются тестеры, обращайтесь.
|
|
|
|
EdiTTORR | Дата: Пятница, 26 Ноября 2010, 20:49:16 | Сообщение # 4 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| Rehan, Code function order1move takes unit u1, unit u2, real D, real angle returns nothing local real ax=GetUnitX(u1) local real ay=GetUnitY(u1) local real bx=GetUnitX(u2) local real by=GetUnitY(u2) local real ang=57.29577951*Atan2(ay-by,ax-bx) local real X=bx+D*Cos((ang+angle)*0.01745329) local real Y=by+D*Sin((ang+angle)*0.01745329) call IssuePointOrder(u1,"blink",point) set u1=null set u2=null endfunction
Местами здесь.
|
|
|
|
Rehan | Дата: Пятница, 26 Ноября 2010, 21:59:43 | Сообщение # 5 |
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
| Quote (EdiTTORR) local real X=bx+D*Cos((ang+angle)*0.01745329) local real Y=by+D*Sin((ang+angle)*0.01745329) call IssuePointOrder(u1,"blink",point) какой функцией можно создать точку point из этих координат, чтобы не было утечек?
Требуются тестеры, обращайтесь.
|
|
|
|
EdiTTORR | Дата: Пятница, 26 Ноября 2010, 22:42:57 | Сообщение # 6 |
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
| Функция Location(координата Х, координата Y) Пример:Code set point=Location(bx+D*Cos((ang+angle)*0.01745329),by+D*Sin((ang+angle)*0.01745329)) Для устранения утечек, необходимо удалить и обнулить переменную point после использования: Code call RemoveLocation(point) set point=null
Местами здесь.
Сообщение отредактировал EdiTTORR - Пятница, 26 Ноября 2010, 22:44:42 |
|
|
|
FkoFF | Дата: Пятница, 26 Ноября 2010, 22:45:20 | Сообщение # 7 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Code call IssuePointOrder(u1,"blink",point) Code native IssuePointOrder takes unit whichUnit, string order, real x, real y returns boolean это действие работает на координатах. Тебе не нужна точка.
|
|
|
|
Rehan | Дата: Пятница, 26 Ноября 2010, 23:40:11 | Сообщение # 8 |
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
| Quote (FkoFF) это действие работает на координатах. Тебе не нужна точка. всмысле в параметры одной и той-же функции, в котогрую мы вводили обычно точку можно вводить и координаты? call IssuePointOrder(u1,"blink",x, y) вместо call IssuePointOrder(u1,"blink", point) ? Добавлено (26-11-2010, 23:38) --------------------------------------------- извините, не сообразили что функция другая.. теперь дошло -)) спасибо всем, вопрос исчерпан -) Добавлено (26-11-2010, 23:40) --------------------------------------------- жаль что репутацию не имеем права повышать.. у нас идея: rixt7956, EdiTTORR, FkoFF, повысьте друг другу репутацию от нашего лица
Требуются тестеры, обращайтесь.
|
|
|
|