Хорошо, что проблема решена.
Только нужно иметь ввиду, что если шаблон в одном потоке возьмет данные в буфер обмена - а в другом потоке буфер обмена будет прочитан - то другой поток получит доступ к буферу обмена, который был получен в первом потоке. Либо когда например работает шаблон, а Вы вручную скопируете что-то в буфер обмена - тогда шаблон в переменную положит те данные, которые были скопированы Вами вручную.
Другими словами - если мы работаем в 1 поток, или когда мы работаем в проджект мейкере и не используем буфер обмена вручную в момент работы шаблона - тогда все ок. Как только у нас много потоков или когда мы вручную что-то копируем в буфер - тогда целостность данных однозначно будет нарушена (в переменную может быть записано не то, что мы ожидали).
Таким образом, в идеале - не использовать буфер обмена в своих шаблонах, использовать его нужно только когда понимаете риски и понимаете как это работает... В большинство случаев совсем не обязательно использовать буфер обмена, чтобы скопировать что-то на страничке, а если уж совсем никак без буфера обойтись - тогда в цикле ещё нужно проверять, находится в буфере/переменной именно то что ожидалось, или там уже какие-то искаженные данные.