Вопрос по буферу обмена.

Поддержка
  • В описании написано:

    Буфер обмена является глобальным для всей системы и должен быть заблокирован перед использованием в многопоточном режиме.
    

    Есть где-нибудь информация о том как правильно это сделать?

  • @senerg через глобальную переменную, собираетесть что либо писать в буфер обмена устанавливайте её например в true, записываете данные в буфер обмена, и вставляете эти данные куда нужно, затем глобальную переменную устанавливаете в false. Ну и перед записью в буфер всегда проверяете состояние этой переменной, если она false значит можно юзать буфер, если true то ждете какое то время и проверяете снова. Я таки образом реализовывал в многопоточности.

  • @bigorat Не знаете, вставка из буфера будет полным аналогом действия "Ввод текста" с интервалом 0 и действия self.value = "value", или есть какие-то нюансы?

  • @senerg если честно не знаю, не заморачивался этим нюансом, мне нужно было просто скопировать и вставить текст в окно.

  • @senerg said in Вопрос по буферу обмена.:

    @bigorat Не знаете, вставка из буфера будет полным аналогом действия "Ввод текста" с интервалом 0 и действия self.value = "value", или есть какие-то нюансы?

    Действие "ввод текста" введёт только текст, когда из буфер обмена можно добавить картинки и разметку

  • @fox Если мы говорим про текст, то для сайта все эти три варианта выглядят как ctrl+V?

  • @senerg Всё зависит от скриптов, бывает что скрипт ввёл значение в поле через self.value = "value", а нажать далее страница не даёт, пишет введите данные. Так же и быстрый ввод текста не везде сработает, как и ctrl+v (v надо обязательно маленькую) может где то не сработать.

  • @bigorat Застрял на этой же проблема.
    Все конечно хорошо , НО , как в первый раз активировать глобальную false?
    Если изначально она true а для продолжения работы скрипта нужна false ?
    Для запуска первого хотя бы потока глобальная должна быть false, а далее уже скрип подтянет по вашему примеру.
    Поделитесь скриптом пожалуйста уже все перепробовал...

  • @5577mmsi said in Вопрос по буферу обмена.:

    @bigorat Застрял на этой же проблема.
    Все конечно хорошо , НО , как в первый раз активировать глобальную false?
    Если изначально она true а для продолжения работы скрипта нужна false ?
    Для запуска первого хотя бы потока глобальная должна быть false, а далее уже скрип подтянет по вашему примеру.
    Поделитесь скриптом пожалуйста уже все перепробовал...

    Я выкладывал на форуме готовый скрипт с примером использования блокировки потоков через глобальную переменную для работы с буфером обмена

  • Очень многие программы легко работают с буфером обмена (не глобальным) внутри потока, выделяя на это некоторую память. Почему бы разработчикам BAS этого не сделать?

  • @gurkin4 said in Вопрос по буферу обмена.:

    Очень многие программы легко работают с буфером обмена (не глобальным) внутри потока, выделяя на это некоторую память. Почему бы разработчикам BAS этого не сделать?

    Логика тут такая, если есть костыль то можно не делать/фиксить.

  • @gurkin4 said in Вопрос по буферу обмена.:

    Очень многие программы легко работают с буфером обмена (не глобальным) внутри потока, выделяя на это некоторую память. Почему бы разработчикам BAS этого не сделать?

    Может быть не всё так просто?

  • @Fox said in Вопрос по буферу обмена.:

    Может быть не всё так просто?

    Хватает багов, которые очень легко исправить, но он их не фиксит. Так что не факт