Возникла проблема, помогите решить!!!
Есть рабочий код, тестировал в PM последней версии:
Выдает ошибку:
Результат такой же... Гуглил эту ошибку, в ответах одни форумы c# (не программист , не понял нифига), без какой либо связи с зп (((
Причем эта ошибка возникает как и на домашнем компе на вин10 так и на дедике, еще зимой все работало ок и там и там.
Я так понимаю ошибка вылазит при работе с буфером обмена, так как все работает из кода (проверил по отдельности) кроме строк работы с буфером...
Есть рабочий код, тестировал в PM последней версии:
C#:
var descr = project.Variables["text"].Value;
System.Windows.Forms.Clipboard.SetText(descr);
instance.ActiveTab.KeyEvent("v","press","ctrl");
пробовал другой кодВыполнение действия CSharp OwnCode. Текущий поток должен быть задан как поток однопоточного контейнера (STA), чтобы вызовы OLE стали возможны. Проверьте, что ваша функция Main помечена атрибутом STAThreadAttribute.
C#:
lock(SyncObjects.InputSyncer) // блокировка
{
var descr = project.Variables["content"].Value;
// сохраняем предыдущее состояние буфера
String previous_text = null;
previous_text = System.Windows.Forms.Clipboard.GetText();
// сохраняем нужный текст в буфер и вставляем его (программно делаем CTRL+V)
System.Windows.Forms.Clipboard.SetText(descr);
instance.ActiveTab.KeyEvent("v","press","ctrl");
// стираем буфер и возвращаем его к первоначальному состоянию
System.Windows.Forms.Clipboard.Clear();
System.Windows.Forms.Clipboard.SetText(prev
Ious_text);
}
Причем эта ошибка возникает как и на домашнем компе на вин10 так и на дедике, еще зимой все работало ок и там и там.
Я так понимаю ошибка вылазит при работе с буфером обмена, так как все работает из кода (проверил по отдельности) кроме строк работы с буфером...
Последнее редактирование модератором: