Если проект прервать и начать заного - этот сниппет перестает работать почему то, нужно именно саму Зенку перезапускать
Все можно сделать без перезапуска:
Есть у меня такой шаблон
Парсер анкет и фото с Mamba.ru , в нем посмотрите первый скриншот в спойлере "Spoiler: Скриншоты «Входные настройки» с кучей настроек:"
Там есть выпадающее меню с варинтом В, который как раз после запуска в 1 поток обнуляет переменные и приводит шаблон в "Девственное состояние".
Я уже не помню как я до такого
докотился дошел, но вот так выглядит оттуда алгоритм обнуления:
Коды кубиков из скриншота:
lock(SyncObject) {
try {
var gbVar = project.GlobalVariables["[email protected]", "G_Cookie"];
// go to bad exit if already initilized
return null;
} catch (KeyNotFoundException ex) {
project.SendInfoToLog("Глобальная переменная G_Cookie пока не создана, нет смысла ее обнулять", true);
return "ok";
}
}
project.SendInfoToLog("Глобальная переменная G_Cookie есть, очищаем ее и обнуляем значение G_offset", true);
lock(SyncObject) {
var defaultValue = "";
project.GlobalVariables.SetVariable("[email protected]", "G_Cookie", defaultValue);
int defaultValue2 = 0;
project.GlobalVariables.SetVariable("[email protected]", "G_offset", defaultValue2);
}
Насколько я сейчас понимаю этот алгоритм: шаблон пробует создана ли глобальная переменная (пробует присвоить ей данные), если НЕ создана, то все ок, не смысла ее обнулять. А если может присвоить, значит она создана, тогда первый кубик выходит по красной ветке к второму кубику, где и происходит обнуление.
UPD: Не претендую на авторство, ибо просто собирал идею с отрывков форума, оригинальный код легко гуглится по старым комментариям:
// go to bad exit if already initilized site:zennolab.com