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

andropovleva

Client
Регистрация
23.11.2019
Сообщения
586
Реакции
46
Баллы
28
Всем привет! У меня шаблон который выполняется в замкнутом режиме, соответсвенно если нажать стоп, то шаблон не закончит работу. Ясно что можно просто прервать работу шаба, но хочется больше эстетики))
 
Всем привет! У меня шаблон который выполняется в замкнутом режиме, соответсвенно если нажать стоп, то шаблон не закончит работу. Ясно что можно просто прервать работу шаба, но хочется больше эстетики))
1. Что вам мешает не зациклить, а сделать по людски?
2. Для нормального завершения, используйте BadEnd и в настройках зенки поставьте галочку badend перед запуском и будет радость при нажатии прервать.
 
  • Спасибо
Реакции: andropovleva
Можно в конце цикла добавить проверку статуса шаблона и прерывать его в нужном месте, если нажата кнопка стоп.
 
  • Спасибо
Реакции: andropovleva
выполняется в замкнутом режиме
Добавь в свой замкнутый режим:
C#:
Развернуть Свернуть Копировать
if (((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) return; // Прерывание в ZP
if (Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode) return; // Прерывание в PM
Код взят отсюда
 
  • Спасибо
Реакции: andropovleva
1. Что вам мешает не зациклить, а сделать по людски?
2. Для нормального завершения, используйте BadEnd и в настройках зенки поставьте галочку badend перед запуском и будет радость при нажатии прервать.

Впринципе можно, только не совсем то что нужно получается. Сложно объяснить)
 
Всем привет! У меня шаблон который выполняется в замкнутом режиме, соответсвенно если нажать стоп, то шаблон не закончит работу. Ясно что можно просто прервать работу шаба, но хочется больше эстетики))
ох уж эти замкнутые циклы :)
 
  • Спасибо
Реакции: andropovleva и Koqpe
По-моему, Вы все усложняете - это не тот случай, где нужно влазить в такие дебри, как зависание потоков.
C#:
Развернуть Свернуть Копировать
Guid id = Guid.Parse(project.TaskId);
if(Regex.Match(ZennoPoster.GetTaskInfo(id), @"(?<=<Status>).*?(?=</Status>)").Value == "Stop")
    ZennoPoster.InterruptTask(id);
всуньте в цикл кубик с этим кодом и при нажатии на стоп шаблон выполнится до этого места.
 
По-моему, Вы все усложняете - это не тот случай, где нужно влазить в такие дебри, как зависание потоков.
C#:
Развернуть Свернуть Копировать
Guid id = Guid.Parse(project.TaskId);
if(Regex.Match(ZennoPoster.GetTaskInfo(id), @"(?<=<Status>).*?(?=</Status>)").Value == "Stop")
    ZennoPoster.InterruptTask(id);
всуньте в цикл кубик с этим кодом и при нажатии на стоп шаблон выполнится до этого места.
я всегда усложняю :) ну вот такой я :)
 
  • Спасибо
Реакции: andropovleva
Более простой вариант - разделить код на C# экшены.
 

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