Но появилась новая проблема. Иногда скрипт во время работы внезапно запрещает выделять действия. Т.е при клике на любое действие, оно просто не выделяется красным. Это второй баг, независимый от первого если что
Странное поведение "Ресурсов"
-
Здравствуйте коллеги!
Столкнулся со странным, а если быть точнее, недопустимым поведением при использовании обычного "*.txt"-ресурса.Создаётся ресурс стандартным диалогом "+ Создать ресурс".
ИмяSRC_TXT, тип*.txt- из файла, режим "Чтение и удаление строк из файла" -> "Использовать каждую строку один раз".Заполняем его чем-то вроде:
qwdf1@mail.ru:boroda1 qwdf2@mail.ru:boroda2 qwdf3@mail.ru:boroda3 qwdf4@mail.ru:boroda4 qwdf5@mail.ru:boroda5 qwdf6@mail.ru:boroda6 qwdf7@mail.ru:boroda7 qwdf8@mail.ru:boroda8 qwdf9@mail.ru:boroda9В
OnApplicationStartразмещаем глобальную переменную-счётчик и помещаем в неё кол-во элементов ресурса:

Затем, несложная эксплуатирующая логика, эмулирующая примерно-настоящее, ожидаемое поведение:

Означающее примерно следующее:- Посчитать элементы, для, возможно каких-либо операций на основании знания об этом.
- Взять элемент для совершения каких-либо действий с его участием.
- Если ресурс опустел, отстреляться в лог о количестве выполненных операций и не перезапуская поток, завершить его выполнение.
- Иначе, выполнить какие-то действия, внутри которых, подразумевается вероятность того, что данные из ресурса придётся вернуть обратно в источник, в случае, если, например, до их использования не дошло и по пути вылезли иные, непреодолимые "препятствия". Это поведение эмулирует случайное значение, получающее единицу, или ноль, соответственно, возвращая полученное значение в ресурс, с установленной галочкой на:

Сохраняем.
Запускаем в режиме "Запуск", например, в четыре потока:

Всё чётко. Девять элементов в ресурсе, три из которых вернулись обратно в источник и были вновь использованы. Итого 12 итераций по данным, о чём свидетельствует завершающий текст красным цветом.- Файл ресурса — пустой.
Запускаем с теми же настройками, предварительно добавив в ресурс всё тот же набор строк. Ожидаем когда произойдут какой-либо набор действий, например, появится первое сообщение о добавленном/возвращённом в ресурс элементе и принудительно завершаем выполнение сценария, указав опцию
Ждать каждый поток. Пока выбирал эту опцию, у меня уже засветилось в логе примернопятьдобавлений и остальные добавились после:

Таким образом, всего было добавлено
восемьэлементов и с первыми двумя, как гласит лог, уже началось взаимодействие, завершившееся на "Ok".- Файл ресурса — пустой.
Но, как?!? Как минимум, хотя бы какое-то количество элементов, возвращённых в ресурс должны были оказаться там!
Считаем:
9 начальных элементов + 8 добавленных = 17
17 - 11 Ok = 6======================================
Или это работает иначе?
Прокомментируйте пожалуйста.