Try using "Template" action and construct your text with hyerlinks than paste it to page.
Other option is to create simple LOCAL html page somewhere on your hard disk with
desired text and links, than open that local html page in another tab in BAS and than copy
from that tab to the tab where you are working.
Несколько функции - в разные потоки
-
Ребят, подскажите плиз, хочу организовать несколько функции в разные потоки. То есть, у меня есть 3 функции , хочу чтобы при запуске скрипта запускались (одновременно?) :
1 функция - в первый поток
2 функция - второй поток,
3 функция - в третий потокКак можно реализовать?)
-
@ogurchiki said in Несколько функции - в разные потоки:
Ребят, подскажите плиз, хочу организовать несколько функции в разные потоки. То есть, у меня есть 3 функции , хочу чтобы при запуске скрипта запускались (одновременно?) :
1 функция - в первый поток
2 функция - второй поток,
3 функция - в третий потокКак можно реализовать?)
Через if и действие Номер потока, вот пример:
//в начале скрипта применяем действие Номер потока, после этого нам будет доступна переменная [[THREAD_INDEX]] if [[THREAD_INDEX]] == 1: вызов func1() if [[THREAD_INDEX]] == 2: вызов func2() if [[THREAD_INDEX]] == 3: вызов func3() -
@IvanG said in Несколько функции - в разные потоки:
туплю наверно, но никак не могу понять как несколько условий if одновременно обработать. может кто скрипт простой набросать чтоб две разные функции одновременно в двух потоках параллельно запустились?
Так вам же уже написали
вначале потока ставимопределить номер потока THREAD_INDEX
потом условие, если THREAD_INDEX равно 1 (то есть это первый поток) выполняем функцию №1
if [[THREAD_INDEX]] == 1:
вызов func1()далее, если THREAD_INDEX равно 2 (то есть это второй поток) выполняем функцию №2
if [[THREAD_INDEX]] == 2:
вызов func2()далее если THREAD_INDEX равно 3 (то есть это третий поток) выполняем функцию №3
if [[THREAD_INDEX]] == 3:
вызов func3()Итого каждый поток будет выполнять только свой № функции, в другом потоке скрипт к ней тупо не перейдет.
-
Вопрос насколько можно полагаться на номер потока?
Вероятно имел ошибку из за использования номера потока, но не уверен. Пошел другим путем. Решая я туже задачу и стремясь избавиться от зависимости от номера потока придумываю через использование ресурса.
Задача та же: есть несколько функций которые должны выполняться параллельно, время выполнение каждой из низ может быть любым угодно, после завершении работы функции ее нужно запустить вновь и не допустить запуска более одного экземпляра одной и той же функции.
Решение: в OnApplicationStart создам ресурс stream и заполним его индексами оп количеству функций. В Main получим ресурс(одноразово) и используем его вместо номера потока как в примере выше. ВАЖНО: внутри блока if возвращаем/добавляем элемент в ресурс чтобы работало. Запускаем то число потоков.
Вероятно рабочий пример.
0_1519110464847_stream.xml
Возможно существуют другие способы, не могу придумать.Будет и вопрос: что за параметры при создании ресурса?
-
@ruzne, нет, это гемор какой-то. Все должно быть нормально через номера потоков. Тем более, что функции нужно по кругу гонять. Не завершай поток после выполнения функции, а по метке в начало функции переводи и точно потоки будут одни и теже работать.
-
Столкнулся с такой же проблемой. Есть два потока и две функции, определяю номер потока и в зависимости от номера выполняю функцию, а по факту в обоих потоках выполняется вторая функция, пробую переопределить первую функцию, после чего ситуация меняется на обратную, в обоих потоках выполняется первая функция. Подскажите в чем может быть проблема? Ранее уже реализовывал подобное, даже посложней, проблем не было.
-
Нашел причину моей проблемы, дело было в метках, для разных потоков я использовал одинаковые названия меток. Вот пример кода с проблемой 0_1555870482647_ex.xml , если запустить в многопотоке, то должно загрузиться в первом потоке ya.ru, а во втором google.com, а из-за метки в обоих потоках загружается ya.ru Отсюда вопрос, может кто нибудь пояснить как работают метки в многопотоке, а то я чет не догоняю, по моему мнению метки как и переменные в разных потоках, работают в рамках потока и не оказывают влияние на другие, или я не прав?
-
@kosta said in Несколько функции - в разные потоки:
Нашел причину моей проблемы, дело было в метках, для разных потоков я использовал одинаковые названия меток. Вот пример кода с проблемой 0_1555870482647_ex.xml , если запустить в многопотоке, то должно загрузиться в первом потоке ya.ru, а во втором google.com, а из-за метки в обоих потоках загружается ya.ru Отсюда вопрос, может кто нибудь пояснить как работают метки в многопотоке, а то я чет не догоняю, по моему мнению метки как и переменные в разных потоках, работают в рамках потока и не оказывают влияние на другие, или я не прав?
Метки в принципе нельзя называть одинаково, если не вдаваться в подробности, интерпретатор ищет первую метку по названию в коде скрипта и переходит по ней.
