Что нового

[Баг] 3.3.8.0: Ошибка проверки синтаксиса при использований ContinueLoop

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Пример из справки, с закоментированной строчкой MsgBox:

Код:
;Print all numbers from 1 to 10 except number 7
For $i = 1 To 10
    If $i = 7 Then ContinueLoop
    ;MsgBox(0, "The value of $i is:", $i)
Next


Обратите внимание, если строчку не комментировать, то проверка синтаксиса проходит :scratch:
 

asdf8

Скриптер
Сообщения
564
Репутация
152
У меня проверку синтаксиса проходит нормально (AU3Check 1.54.22.0), а при запуске сам AutoIt вываливается с ошибкой :

Код:
"ContinueLoop" statement with no matching "While", "Do" or "For" statement.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
CreatoR,
с закоментированной строчкой по идее в коде должен сгенериться переход с нулевым смещением.

Код:
label: ...
       ...
       jmp 00
       loop label

Это очень круто что AutoIt отлавливает такую бессмыслицу! Я прям в восторге!
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
C2H5OH [?]
с закоментированной строчкой по идее в коде должен сгенериться переход с нулевым смещением.
Нет. Он должен пропустить данный круг цикла и перейти к следующему - чего не происходит. Это далеко не аналог cmd команды.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
CreatoR,
А так вроде не ругается (XP).
Код:
For $i = 1 To 10
	If $i = 7 Then
		ContinueLoop
	EndIf
	;MsgBox(0, "The value of $i is:", $i)
Next
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Autoit 3.3.8.0
У меня всё работает корректно. Проверка синтаксиса тоже проходит корректно, как с закомментированной строкой, так и с раскомментированной. При $i = 7 цикл переходит на начало, пропуская круг.


Добавлено:
Сообщение автоматически объединено:

CreatoR [?]
Обратите внимание, если строчку не комментировать, то проверка синтаксиса проходит
IMHO синтаксис не нарушен :blink:
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
asdf8 [?]
У меня проверку синтаксиса проходит нормально
Ну я имел в виду при запуске.

Garrett [?]
У меня всё работает корректно
Как ты проверяешь?
А если скомпилировать скрипт?

IMHO синтаксис не нарушен
А я разве писал что нарушен? :blink:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
:shok:ops: поспешил. Почему-то с закомментированной строкой, AutoIt3.exe - 3.3.8.0 у меня проглотил, но стоило строку вообще удалить, и вылезла ошибка.

AutoIt3.exe - 3.3.8.0 действительно спотыкается при вполне нормальном синтаксисе
Код:
For $i = 1 To 10
    If $i = 7 Then ContinueLoop
Next

"ContinueLoop" statement with no matching "While", "Do" or "For" statement.:
If $i = 7 Then ContinueLoop
Версия 3.3.6.1 отрабатывает нормально.

Au3Check.exe от любой версии ошибок (лично у меня) не находит.



Добавлено:
Сообщение автоматически объединено:

CreatoR [?]
А если скомпилировать скрипт?
Кстати в скомпилированном виде, ошибок нет :blink: Мистика ;D
OffTopic:
2012 начался :laugh:
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
winstan [?]
Кто сказал что у меня 3.3.9.0? :mad:
Хоть кто нибудь догадался по ссылке перейти?


Добавлено:
Сообщение автоматически объединено:

winstan [?]
когда можно будет нам скачать?
Когда разработчики выложат её.
 

winstan

Эксплотатор)
Сообщения
406
Репутация
79
CreatoR
я сам себя ввёл в заблуждения :(
 
Верх