Похоже, ZP падает на «Получить строку», потому что список действительно пуст — файл files.txt он не находит. В ProjectMaker всё ок, а в ZennoPoster макрос {-Project.Directory-}\files.txt указывает на
временную папку распаковки .zp, где файла просто нет (если его не упаковали в проект). Отсюда и «List Список пуст».
Что делать (любой вариант подойдёт):
- Упаковать файл в шаблон
- PM → Проект → Файлы проекта → Добавить → выберите files.txt.
- Экспорт в .zp с галочкой включить файлы проекта.
- Оставить путь {-Project.Directory-}\files.txt.
- В ZP проверьте, что во «Файлах проекта» видно files.txt.
- Прописать абсолютный путь
- В действии списка укажите, например, D:\work\...\files.txt.
- Убедитесь, что ZP запущен от того же пользователя и есть права к этому пути (если сервисом/под другим юзером — прав может не быть).
- Если много потоков
- При опции «Удалить строку после взятия» часть потоков моментально увидит «список пуст».
- Поставьте блокировку на действие списка/глобальный локер и убедитесь, что строк не меньше числа одновременных потоков.
Быстрая диагностика:
- Перед «Получить строку» добавьте «Получить количество элементов списка» и выведите в лог — если 0, читается не тот или пустой файл.
- Добавьте проверку «Файл существует?» по тому же пути и тоже выведите в лог.
И на всякий случай:
- проверьте, что files.txt действительно там, где ожидаете;
- кодировка нормальная (ANSI/UTF-
, разделитель — Enter;
- в начале файла нет пустых строк.
После добавления files.txt в «Файлы проекта» проблема в ZP обычно исчезает.