Что именно возвращает project.Name?

  • Автор темы Автор темы BAZAg
  • Дата начала Дата начала

BAZAg

Client
Регистрация
08.11.2015
Сообщения
2 342
Реакции
2 761
Баллы
113
Есть у меня шаблон, например test.zp
Добавлю его в ZennoPoster.
Потом в ZennoPoster кликну правой кнопкой мышки на этом шаблоне и переименую его, например в тест имени.
Что именно в этом случае должен вернуть project.Name?

Спрашиваю, так как не ясно что произойдет при ZennoPoster.AddTries(project.Name, 1); если я таким способом добавлю 2 шаблона.
Вариант первый - возьму шаблон test.zp и добавлю его 2 раза с разными именами.
Вариант второй - добавлю шаблон test1.zp и test2.zp и переименую их в test.
Какие шаблоны получат +1 поток?
 
  • Увидел
Реакции: n0n3mi1y
ZennoPoster.AddTries(project.Name, 1)
Добавит одно выполнение шаблону по его названию в самом Зеннопостере (не названию файла шаблона, а названию именно в Зенке, когда ты его переименовать можешь в списке шаблонов). Указывается без .zp/.xlmz в конце, только название (тот текст, который во всплывающем окне при переименовании).
 
  • Оценить
Реакции: BAZAg
Есть у меня шаблон, например test.zp
Добавлю его в ZennoPoster.
Потом в ZennoPoster кликну правой кнопкой мышки на этом шаблоне и переименую его, например в тест имени.
Что именно в этом случае должен вернуть project.Name?

Спрашиваю, так как не ясно что произойдет при ZennoPoster.AddTries(project.Name, 1); если я таким способом добавлю 2 шаблона.
Вариант первый - возьму шаблон test.zp и добавлю его 2 раза с разными именами.
Вариант второй - добавлю шаблон test1.zp и test2.zp и переименую их в test.
Какие шаблоны получат +1 поток?
Здравствуйте,

Я для таких задач использую TaskId — это уникальный ID конкретного шаблона, который вы запускаете. Так вы гарантированно запустите именно тот шаблон, который нужен, даже если будут одинаковые имена.

Лучше использовать так: var id = Guid.Parse(project.TaskId); и затем передавать id вместо project.Name.
 
  • Оценить
Реакции: BAZAg
Я для таких задач использую TaskId
Спасибо. Я это понимаю, что так можно.
При этом вопрос больше о том, что именно возвращает project.Name.
Это важно понять чтобы избегать двухсмысленности данного значения.
Я видел на форуме что люди пытаются бороться путем проверки, не переименовал ли пользователь шаблон, сверяя с своим внутренним значением и тп.

С project.TaskId также у меня есть точно такой же вопрос - что именно он возвращает?
При выполнении в PM и ZP он точно будет совпадать во всех выполнениях?
А если я сделаю примерно так:
Есть шаблон, он вызывает подшаблон, подшаблон вызывает подшаблон (тоесть 3-4 уровня вложенности) - и на 3-м уровне мне нужно добавить попытки - мне нужно пробрасывать этот project.TaskId с самого верхнего уровня, или project.TaskId будет наследоваться одинаковым значением во всех вложенных подшаблонах, что даст возможность по этому project.TaskId добавить попытки/потоки нужному шаблону?

Другими словами я пытаюсь понять однозначное поведение ZP, PM - понимая что именно возвращается в project.Name и в project.TaskId мне не нужно будет выбирать и думать нужно ли использовать project.TaskId чтобы случайно не перепутать выполнение из-за внутренности project.Name, а смогу корректно использовать что project.Name, что project.TaskId в зависимости от случая, необходимости.
 
  • Увидел
Реакции: Dmitriy_Zenno
При этом вопрос больше о том, что именно возвращает project.Name.
Это важно понять чтобы избегать двухсмысленности данного значения.
Я видел на форуме что люди пытаются бороться путем проверки, не переименовал ли пользователь шаблон, сверяя с своим внутренним значением и тп.
Тут лучше всего сделать демо шаблоны и все это проверить.
Давайте будем разбираться вместе, по порядку.

Я создал шаблон и вывел в лог project.Name.
Добавил шаблон в ZP, запустил и получил имя шаблона, поменял имя внутри ZP, в лог вышло все равно имя шаблона, поменял имя шаблона, проект упал в ошибку. Значит project.Name отвечает за имя шаблона, смену имени внутри ZP оно не отслеживает.

1785845243500.png

С project.TaskId также у меня есть точно такой же вопрос - что именно он возвращает?
При выполнении в PM и ZP он точно будет совпадать во всех выполнениях?
project.TaskId - это уникальный guid который присваивается шаблоны, когда мы его добавляем в ZP. В PM - он всегда будет 00000000-0000-0000-0000-000000000000, но в ZP он будет уникальным.

А если я сделаю примерно так:
Есть шаблон, он вызывает подшаблон, подшаблон вызывает подшаблон (тоесть 3-4 уровня вложенности) - и на 3-м уровне мне нужно добавить попытки - мне нужно пробрасывать этот project.TaskId с самого верхнего уровня, или project.TaskId будет наследоваться одинаковым значением во всех вложенных подшаблонах, что даст возможность по этому project.TaskId добавить попытки/потоки нужному шаблону?

Я создал 3 шаблона с выводом в лог project.SendInfoToLog("Шаблон 1: " + project.TaskId, true); потом для первого шаблона добавил подшаблон 2, для второго шаблона добавил подшаблон 3.
Запустил первый шаблон в ZP, в лог вышел одинаковый guid, который был присвоен первому шаблону, то есть его не нужно пробрасывать в подшаблон 3.

1785846316394.png

Можете также это проверить у себя.
 
Последнее редактирование:
  • Оценить
Реакции: BAZAg
Я создал шаблон и вывел в лог project.Name.
Добавил шаблон в ZP, запустил и получил имя шаблона, поменял имя внутри ZP, в лог вышло все равно имя шаблона, поменял имя шаблона, проект упал в ошибку. Значит project.Name отвечает за имя шаблона, смену имени внутри ZP оно не отслеживает.
Отлично!
Добавили 1 раз, переименовали.
Добавили 2 раз - переименовали.
Выполнили ZennoPoster.AddTries(project.Name, 1);
Возможно отрезав .zp

Два шаблона получат по 1 попытке или какой-то один?
По идее, мы в каждом шаблоне не важно как он переименован должны получить +1 выполнение, так как project.Name вернет test.zp

Следовательно, вариант который описан - будет работать корректно, так как project.Name вернет test1.zp и test2.zp не обращая внимания на переимнования.
Вариант второй - добавлю шаблон test1.zp и test2.zp и переименую их в test.

Если я все правильно понял:
В первом случае - два шаблона получат +1, так как они запускаются с одного файла и именно это имя файла используется.
Во втором случае - что test1.zp и test2.zp получат по +1, так как каждый вызовет инструкцию со своим именем файла.
 
Если я все правильно понял:
В первом случае - два шаблона получат +1, так как они запускаются с одного файла и именно это имя файла используется.
Во втором случае - что test1.zp и test2.zp получат по +1, так как каждый вызовет инструкцию со своим именем файла.
Да, скорей всего так и будет.
 
  • Оценить
Реакции: BAZAg

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