Код С# остановки выполнения шаблона.

andropovleva

Client
Регистрация
23.11.2019
Сообщения
551
Благодарностей
38
Баллы
28
Всем привет! У меня шаблон который выполняется в замкнутом режиме, соответсвенно если нажать стоп, то шаблон не закончит работу. Ясно что можно просто прервать работу шаба, но хочется больше эстетики))
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 441
Благодарностей
1 287
Баллы
113
Всем привет! У меня шаблон который выполняется в замкнутом режиме, соответсвенно если нажать стоп, то шаблон не закончит работу. Ясно что можно просто прервать работу шаба, но хочется больше эстетики))
1. Что вам мешает не зациклить, а сделать по людски?
2. Для нормального завершения, используйте BadEnd и в настройках зенки поставьте галочку badend перед запуском и будет радость при нажатии прервать.
 
  • Спасибо
Реакции: andropovleva

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
Можно в конце цикла добавить проверку статуса шаблона и прерывать его в нужном месте, если нажата кнопка стоп.
 
  • Спасибо
Реакции: andropovleva

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
выполняется в замкнутом режиме
Добавь в свой замкнутый режим:
C#:
if (((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) return; // Прерывание в ZP
if (Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode) return; // Прерывание в PM
Код взят отсюда
 
  • Спасибо
Реакции: andropovleva

andropovleva

Client
Регистрация
23.11.2019
Сообщения
551
Благодарностей
38
Баллы
28
1. Что вам мешает не зациклить, а сделать по людски?
2. Для нормального завершения, используйте BadEnd и в настройках зенки поставьте галочку badend перед запуском и будет радость при нажатии прервать.
Впринципе можно, только не совсем то что нужно получается. Сложно объяснить)
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
Всем привет! У меня шаблон который выполняется в замкнутом режиме, соответсвенно если нажать стоп, то шаблон не закончит работу. Ясно что можно просто прервать работу шаба, но хочется больше эстетики))
ох уж эти замкнутые циклы :-)
 
  • Спасибо
Реакции: andropovleva и Koqpe

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
По-моему, Вы все усложняете - это не тот случай, где нужно влазить в такие дебри, как зависание потоков.
C#:
Guid id = Guid.Parse(project.TaskId);
if(Regex.Match(ZennoPoster.GetTaskInfo(id), @"(?<=<Status>).*?(?=</Status>)").Value == "Stop")
    ZennoPoster.InterruptTask(id);
всуньте в цикл кубик с этим кодом и при нажатии на стоп шаблон выполнится до этого места.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
По-моему, Вы все усложняете - это не тот случай, где нужно влазить в такие дебри, как зависание потоков.
C#:
Guid id = Guid.Parse(project.TaskId);
if(Regex.Match(ZennoPoster.GetTaskInfo(id), @"(?<=<Status>).*?(?=</Status>)").Value == "Stop")
    ZennoPoster.InterruptTask(id);
всуньте в цикл кубик с этим кодом и при нажатии на стоп шаблон выполнится до этого места.
я всегда усложняю :-) ну вот такой я :-)
 
  • Спасибо
Реакции: andropovleva

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 367
Благодарностей
3 292
Баллы
113
Более простой вариант - разделить код на C# экшены.
 

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