Вот и начались проблеммы во многопотоке при использвании буфера(.

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
Вот и начались проблеммы во многопотоке при использвании буфера(.
Суть в том , что когда копируешь текст где то, то он сохраняетса в буфере во всех потоках, соответвено один текст идет везде.
Пришла идея как ее решить, но хз, вот дайте совет кто.
Видел что сейчас есть глобальные переменные, типа переменные для всего шаблона(сам не разу не использовал их).
И что если сделать так. Когда подходим к тому процессу где начинается копирование- проверяем глобальную переменную на пустоту, если она пустая, значит устанавливаем значение какое то и делам копирование( ну а если не пустая перемеенная глобальная, значит ждем, думаю паусу сделать рандом лучше), а в после завершения устанавливаем пустое значение. По иде же должно работать?
 

Ахилес

Client
Read only
Регистрация
11.11.2020
Сообщения
956
Благодарностей
393
Баллы
63
да на форуме просто куча примеров как лочить буфер... и все они не работают в многопотоке. не используй буфер и все будет хорошо.
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
да на форуме просто куча примеров как лочить буфер... и все они не работают в многопотоке. не используй буфер и все будет хорошо.
Да просто дело в том, что походу по другому ни как у меня в шабе не сдеелать(
 

Ахилес

Client
Read only
Регистрация
11.11.2020
Сообщения
956
Благодарностей
393
Баллы
63

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48

one

Client
Регистрация
22.09.2015
Сообщения
6 834
Благодарностей
1 275
Баллы
113
Надо искать другое решение. БД, список, таблица. Буфер обмена совсем не для многопотока.
 

slavyn8213

Client
Регистрация
28.10.2018
Сообщения
253
Благодарностей
59
Баллы
28
пробуй решение твое с заголовка-должно сработать
 

Ахилес

Client
Read only
Регистрация
11.11.2020
Сообщения
956
Благодарностей
393
Баллы
63
И копирования текста и вставка потом, через 1 секунду. Но даже в 2 потока видел что одинаковые текст идет(
получай текст в переменную из элемента или из трафика. вставляй тоже в элемент из переменной.
зачем нужен буфер обмена в этой схеме, вот фиг знает. :bn:
 

obyavkaby

Client
Регистрация
26.05.2017
Сообщения
188
Благодарностей
17
Баллы
18
Вот и начались проблеммы во многопотоке при использвании буфера(.
Суть в том , что когда копируешь текст где то, то он сохраняетса в буфере во всех потоках, соответвено один текст идет везде.
Пришла идея как ее решить, но хз, вот дайте совет кто.
Видел что сейчас есть глобальные переменные, типа переменные для всего шаблона(сам не разу не использовал их).
И что если сделать так. Когда подходим к тому процессу где начинается копирование- проверяем глобальную переменную на пустоту, если она пустая, значит устанавливаем значение какое то и делам копирование( ну а если не пустая перемеенная глобальная, значит ждем, думаю паусу сделать рандом лучше), а в после завершения устанавливаем пустое значение. По иде же должно работать?
Здравствуйте.
Подскажите как получаете данные из буфера?
 

AndreyAAA

Client
Регистрация
07.05.2016
Сообщения
1 252
Благодарностей
78
Баллы
48
var textcr = project.Variables["url"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной


Если я правильно понял вопрос то вот код c#
 

Oleg1987

Client
Регистрация
11.08.2014
Сообщения
1 230
Благодарностей
786
Баллы
113
var textcr = project.Variables["url"].Value;
System.Windows.Forms.Clipboard.SetText(textcr);
instance.ActiveTab.KeyEvent("v","press","ctrl");//вставить текст из переменной
А зачем вам тут буфер если нужный текст уже есть в переменной texcr?
 

izubr

Client
Регистрация
11.05.2011
Сообщения
558
Благодарностей
247
Баллы
43

obyavkaby

Client
Регистрация
26.05.2017
Сообщения
188
Благодарностей
17
Баллы
18
Нашел на форуме такое решение
C#:
project.Variables["discription_result"].Value = System.Windows.Forms.Clipboard.GetText();
 

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