Что нового

Ищу кто может ткнуть носом — Recursion Level уже плешь проел

foxforce

Новичок
Сообщения
6
Репутация
0
Уважаемые знатоки
Как можно зациклить функцию что бы она не вызвала рекурсию
На пример есть 2 функции
Не обходимо задать выполнение пока объект пропадёт с экрана либо достигнет скажем 10 раз $i что бы вышло из Loop и вызвало другую функцию ?
При этом не обходимо что бы не было рекурсии..
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Я это все читал — но гонит рекурсию
Вы прочитали и все равно не используете?

просто покажите пример кода
Может стоит приложить код с которым возникает проблема?
Код:
#include <MsgBoxConstants.au3>

For $i = 1 To 10 ;Цикл из 10 итераций
    If _Test() Then ExitLoop
Next
MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, Default, "Цикл For завершен")

Func _Test() ;Функция которая вернет True если объект пропал с экрана
    Return MsgBox($MB_TOPMOST + $MB_ICONQUESTION + $MB_YESNO + $MB_DEFBUTTON2, _
            Default, $i & ". Завершить цикл For?") = $IDYES
EndFunc   ;==>_Test
 
Последнее редактирование:
Автор
F

foxforce

Новичок
Сообщения
6
Репутация
0
Вы прочитали и все равно не используете?


Может стоит приложить код с которым возникает проблема?
Код:
#include <MsgBoxConstants.au3>

For $i = 1 To 10 ;Цикл из 10 итераций
    If _Test() Then ExitLoop
Next
MsgBox($MB_TOPMOST + $MB_ICONINFORMATION, Default, "Цикл For завершен")

Func _Test() ;Функция которая вернет True если объект пропал с экрана
    Return MsgBox($MB_TOPMOST + $MB_ICONQUESTION + $MB_YESNO + $MB_DEFBUTTON2, _
            Default, $i & ". Завершить цикл For?") = $IDYES
EndFunc   ;==>_Test
Да я понял почему, я вызывал следующию функции до WEnd а наверное необходимо после нее... вообщем буду переписывать скрипт с 0.... по другой логике
 
Верх