Прервать циклическую работу шаблона по кнопке Стоп

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Одно решения, популярное, я знаю. Прерывать цикл работы шаблона по сигналу из файла. Какие есть еще решения? Проскакивало на форуме интересное решение, но никак не могу его найти и вспомнить его суть. Там что то было связано с проверкой методом C#, то ли нажатия кнопки Стоп то ли еще как то.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
По ссылке речь идет о прерывании работы снипета а меня интересует прерывание циклической работы шаблона.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Последнее редактирование:

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Хммм... А как тогда в этом случае выйти на нужный TaskGuid или TaskString по нажатию на Стоп?
 

Karamzin

Client
Регистрация
24.05.2016
Сообщения
214
Благодарностей
431
Баллы
63
По ссылке речь идет о прерывании работы снипета а меня интересует прерывание циклической работы шаблона.
Так засовываешь в снипет данный код и вставляешь снипет в свой цикл. Когда нажмется кнопка стоп, то работа остановится дойдя до этого снипета
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Понял, спасибо!

Еще вопрос по приведенным методам. Там указаны методы для постера и мэйкара. Зачем для мэйкера такие методы, он же нормально прерывает работу в цикле.

Код:
if(((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) return null; // Прерывание в ZP
if(Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode) return null; // Прерывание в PM
 
  • Спасибо
Реакции: Duser

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Зачем для мэйкера такие методы, он же нормально прерывает работу в цикле.
Так и зенка нормально циклы из кубиков прерывает, если использовать кнопку "Прервать", а не "Остановить".
 

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
В том то и дело что Прервать не есть Остановить. Нужно что бы цикл закончился корректно и остановилось выполнения шаблона.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
создай в сниппете бесконечный цикл и попробуй его "нормально" прервать в мейкере без этого кода)
 
  • Спасибо
Реакции: one

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Попробовал, что то не останавливает цикл данный метод. Что не так в применении данного метода?
Код:
if(((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) return null; // Прерывание в ZP
upload_2018-5-21_15-34-36.png
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Блин, запутался.:be: Меня интересует именно Остановка цикла и выход на экшен с сохранением данных.
 
Последнее редактирование:

one

Client
Регистрация
22.09.2015
Сообщения
6 833
Благодарностей
1 275
Баллы
113
Вопрос все еще актуален.
 

Profits

Client
Регистрация
20.07.2016
Сообщения
37
Благодарностей
14
Баллы
8
Если ещё актуально, то вот

Сам сегодня облазил форум, ничего не нашёл.
Сделал костыльную штуку.

В ZP работает как надо, в случае остановки выходит по красной ветке.
 

Вложения

  • Спасибо
Реакции: VladimirR и katka2100

VladimirR

Client
Регистрация
10.07.2019
Сообщения
5
Благодарностей
1
Баллы
3
Если ещё актуально, то вот

Сам сегодня облазил форум, ничего не нашёл.
Сделал костыльную штуку.

В ZP работает как надо, в случае остановки выходит по красной ветке.
Тоже прошерстил форум, сейчас уже 2024 год, а лучше этого "костыля" до сих пор никто ничего не придумал. Спасибо! :ay:
 

KitKat21

Client
Регистрация
02.05.2017
Сообщения
263
Благодарностей
191
Баллы
43
Только у меня в английском интерфейсе или у вас тоже больше нет кнопки "прервать" в новой версии Project Maker? Эта кнопка была очень полезной. Теперь, с кнопкой "стоп", я не могу остановить процесс, и если он зависает, то висит бесконечно, пока я не завершу программу через диспетчер задач. Очень раздражает.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Только у меня в английском интерфейсе или у вас тоже больше нет кнопки "прервать" в новой версии Project Maker? Эта кнопка была очень полезной. Теперь, с кнопкой "стоп", я не могу остановить процесс, и если он зависает, то висит бесконечно, пока я не завершу программу через диспетчер задач. Очень раздражает.
не припомню существование такой кнопки в ПМ
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
Только у меня в английском интерфейсе или у вас тоже больше нет кнопки "прервать" в новой версии Project Maker? Эта кнопка была очень полезной. Теперь, с кнопкой "стоп", я не могу остановить процесс, и если он зависает, то висит бесконечно, пока я не завершу программу через диспетчер задач. Очень раздражает.
Кнопки 'Прервать' в приложении Project Maker ранее никогда не было.
Кнопка 'Стоп' в Project Maker действует аналогично кнопке 'Прервать' в приложении ZennoPoster.
То есть, осуществляется остановка выполнения, сразу после того как отработает текущее действие, а в некоторых случаях прерывается выполнение текущего действия. Но в некоторых особых случаях мгновенно прервать текущее действие нет возможности и действие должно доработать, как бы.
 

KitKat21

Client
Регистрация
02.05.2017
Сообщения
263
Благодарностей
191
Баллы
43
Кнопки 'Прервать' в приложении Project Maker ранее никогда не было.
Кнопка 'Стоп' в Project Maker действует аналогично кнопке 'Прервать' в приложении ZennoPoster.
То есть, осуществляется остановка выполнения, сразу после того как отработает текущее действие, а в некоторых случаях прерывается выполнение текущего действия. Но в некоторых особых случаях мгновенно прервать текущее действие нет возможности и действие должно доработать, как бы.
Понятно, я, наверное, перепутала это с Poster. Я не использовала его много лет. Но я помню, что могла прервать код на C# в PM, а теперь не могу. Даже в версии, которую я использовала несколько месяцев назад, мне задавали вопрос "Прервать код на C#?" и я могла ответить "да". Сейчас меня об этом не спрашивают.

Кнопка "Прервать" в PM была бы очень полезной, так как иногда что-то идет не так и зависает навсегда, не продолжая выполнение, или что-то не так в коде, и он не останавливается до окончания выполнения, что тоже может занять очень много времени (или вызвать проблемы). Мне пришлось завершить работу программы аварийно, чтобы прервать процессы.
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
216
Благодарностей
60
Баллы
28

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 114
Баллы
113
@KitKat21 Как выше уже подсказали, через некоторое время после нажатия на кнопку 'Стоп' должно появиться окно с подтверждением прерывания работы кода C#.
 

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