Логика if срабатывает не правильно!

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
бывает что зенка тупит и её надо перезагрузить
И снова перестаёт работать через некоторое время работы шаблона. Может быть, дело в том, что я работаю с autoit? То есть, зенка периодически управляет другой программой.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
И снова перестаёт работать через некоторое время работы шаблона. Может быть, дело в том, что я работаю с autoit? То есть, зенка периодически управляет другой программой.
может у тебя ошибка в другом месте, мы сейчас как ванга ))
 
  • Спасибо
Реакции: impul5e

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 955
Благодарностей
781
Баллы
113
кажется невероятным, чтобы иф ошибся , но было у меня как-то, что в эксель ячейку не записывалось число - тогда я поставил проверку на значение в ячейке и если не такое какое надо, то записать опять - уходило в бесконечный цикл иногда, хз с чем связано, может сам натупил - и вроде перепроверял несколько раз - один хрен
 
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
может у тебя ошибка в другом месте, мы сейчас как ванга ))
Нет, именно там ошибка.
кажется невероятным, чтобы иф ошибся , но было у меня как-то, что в эксель ячейку не записывалось число - тогда я поставил проверку на значение в ячейке и если не такое какое надо, то записать опять - уходило в бесконечный цикл иногда, хз с чем связано, может сам натупил - и вроде перепроверял несколько раз - один хрен
Ну вот у меня что-то типа этого. Сразу работает нормально, а после нескольких повторений работает не корректно. Значение переменной проверял, всё правильно и даже в логе отбражается true исход логики, но выходит по красной ветке(
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
ну тогда интересно, ошибке в логе нет, ты запускаешь в ЗП, как узнаёшь ??
 
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Я запускаю пока в ПМ, там и вижу, что идёт по красной ветке.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Я запускаю пока в ПМ, там и вижу, что идёт по красной ветке.
не поверю, там всего один поток ))
если один раз выставит 1 то он просто у тебя зациклится
сделай видос
 
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
не поверю, там всего один поток ))
если один раз выставит 1 то он просто у тебя зациклится
сделай видос
123.JPG
В исходном шаблоне выглядит так. Пока кнопка стоп активна - работает в цикле, когда кнопка стоп не активна - меняет переменную с которой работает.
 
Последнее редактирование:

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 955
Благодарностей
781
Баллы
113
по этому скрину не видно что в текущий момент в переменной стоп_энебл
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
ну как понять активна или нет, если ты сам отрубилт то она отрубится после выполнения экшена где выполняется и выйдет по красной, это не видос
ошибки не видим
 

dr1veq

Пользователь
Регистрация
09.02.2018
Сообщения
39
Благодарностей
44
Баллы
18
Последнее редактирование:
  • Спасибо
Реакции: impul5e

Makswell

Client
Регистрация
04.04.2017
Сообщения
18
Благодарностей
8
Баллы
3
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
была такая же проблема в 5.9.5.1, просто сделайте проверку в кубике C# и выход по красной если False.
У меня версия 5.14.0.0, попробую обновиться до последней версии и сделать проверку в c#. Спасибо за совет.
Так ты лог смотри, визуально может казаться, что уходит по другой ветке, но ничего подобного.
В логе как раз-таки пишет, что должно идти по зеленой ветке, но смысл в том, что происходит ошибка выполнения самого кубика, потому что другие кубики тоже начинают вылетать.
 

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
C#:
if (project.Variables["stop_enable"].Value != "1")
    throw new Exception();
Объясните пожалуйста как это работает? Первую строку понял, вторая как работает? По зеленой ветке - true, по красной - false?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Верно!
Можно наоборот
C#:
if (project.Variables["stop_enable"].Value == "1")
    throw new Exception();
А если переменная указывается в c# кубике таким образом:
var z = AutoItX.ControlCommand ( "AMS Enterprise 2.99.10 (Build 1305)", "Стоп", "[CLASS:TbsSkinButton; INSTANCE:22]", "IsEnabled", "" );
Как указывать переменную в этом случае?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Благодарю, буду пробовать.
 

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Вместо переменной проекта project.Variables["Имя_переменной"].Value прописать переменную, в данном случае z
Написал код:
var z = AutoItX.ControlCommand ( "AMS Enterprise 2.99.10 (Build 1305)", "Стоп", "[CLASS:TbsSkinButton; INSTANCE:22]", "IsEnabled", "" );
if (z != "1")
throw new Exception();

Возвращает ошибку:
Компиляция кода Ошибка в действии "CS0103" "Имя "z" отсутствует в текущем контексте". [Строка: 0; Cтолбец: 5]

Что я не правильно сделал?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
  • Спасибо
Реакции: impul5e и arhip1985

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Всё правильно!
Где-то рядом случайно нет ещё одного кубика с кодом?
Есть конечно) Убрал тот кубик, теперь выдаёт ошибку:

Выполнение действия CSharp OwnCode Выдано исключение типа "System.Exception".
 
  • Спасибо
Реакции: Dimionix

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 101
Баллы
113
Выполнение действия CSharp OwnCode Выдано исключение типа "System.Exception".
Так и должно быть - это выход по красной. Просто протяните от этого кубика красную стрелку куда нужно и будет всё гуд!
 
  • Спасибо
Реакции: impul5e

impul5e

Client
Регистрация
15.08.2017
Сообщения
198
Благодарностей
40
Баллы
28
Так и должно быть - это выход по красной. Просто протяните от этого кубика красную стрелку куда нужно и будет всё гуд!
Точно! Забыл выход по красной сделать. Спасибо!
 
  • Спасибо
Реакции: Dimionix

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)