Clipboard
От: Zatrass Россия  
Дата: 15.06.06 04:52
Оценка:
Доброго времени суток,ALL !!

Пытаюсь в Clipboard засунуть строку следующим кодом:

Clipboard.Clear();
Clipboard.SetText(this.textBox1.Text);


На SetText программа валится с сообщением:


ExternalException
Requested Clipboard operation did not succeed.


Нашел в дебрях инета, что мол, перед Main надо [STAThread] установить, мол чтоб усе в один поток работало. Стоит сей атрибут, а ошибка вываливается. Если при выпавшей ошибке в отладчике жмануть кнопарь Continue, программа продолжает работать и нужное значение в Clipboard попадает.
С чем это связано ??? Как сие лечить ???
Re: Clipboard
От: krasin Россия  
Дата: 15.06.06 06:57
Оценка:
Здравствуйте, Zatrass, Вы писали:

Z>Доброго времени суток,ALL !!


Z>Пытаюсь в Clipboard засунуть строку следующим кодом:


Z>
Z>Clipboard.Clear();
Z>Clipboard.SetText(this.textBox1.Text);
Z>


Z>На SetText программа валится с сообщением:


Z>

Z>ExternalException
Z>Requested Clipboard operation did not succeed.
Z>


Z>Нашел в дебрях инета, что мол, перед Main надо [STAThread] установить, мол чтоб усе в один поток работало. Стоит сей атрибут, а ошибка вываливается. Если при выпавшей ошибке в отладчике жмануть кнопарь Continue, программа продолжает работать и нужное значение в Clipboard попадает.

Z>С чем это связано ??? Как сие лечить ???

У меня ваш код работает.
Re[2]: Clipboard
От: Zatrass Россия  
Дата: 15.06.06 07:30
Оценка: 4 (1)
K>У меня ваш код работает.

Нашел!!! Оказывается мое приложение КОНФЛИКТУЕТ с программой PROMT версия 6.0.0.36 !!!!! Она у меня постоянно открыта была. Закрыл программу, запускаю свое приложение — все работает без проблем !!!!! ALL, проверь если не сложно сей глюк с PROMT-ом !!!
Операционка у меня XP SP2 с установленными всеми KB-шками..... FrameWork 2.0

Два экземпляра мой программы, запущенные одновременно не конфликтуют......
Странный одуванчик.....
Re: Clipboard
От: anvaka Украина Yasiv
Дата: 15.06.06 07:32
Оценка:
Здравствуйте, Zatrass, Вы писали:

Z>С чем это связано ??? Как сие лечить ???


Была у меня такая ерунда. Решил довольно грубо, но ничего лучше не нашел тогда:

    int attemptsCount = 4;
    string toClipboard = ...;
    do
    {
       try
       {
          Clipboard.SetText(toClipboard);
          break;
       }
       catch(System.Runtime.InteropServices.ExternalException)
       { // Clipboard is busy now. Lets try again
          attemptsCount--;
       }
    } while(attemptsCount != 0);


Как видно из комментов, я грешил на занятость буфера другим процессом
Re: Clipboard
От: _FRED_ Черногория
Дата: 15.06.06 07:37
Оценка:
Здравствуйте, Zatrass, Вы писали:

Z>…Как сие лечить ???


Отлови исключение, посмотри все его вложенные исключения
      try {
        Clipboard.Clear();
        Clipboard.SetText(this.textBox1.Text);
      } catch(Exception ex) {
        do {
          Debug.Print("//===== Exception =====//{0}{1}", Environment.NewLine, ex);
        } while((ex = ex.InnerException) != null);
      }//try

может что полезного пишут
... << RSDN@Home 1.2.0 alpha rev. 652>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re: Clipboard
От: dzeaman Россия  
Дата: 15.06.06 09:38
Оценка:
Есть предложение попытаться попользовать апишную библиотечку. Там есть метод типа

[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern bool OpenClipboard(IntPtr hWndNewOwner);

Может, поможет, мало ли...
Re[3]: Clipboard
От: PrettyFly Россия  
Дата: 09.07.07 12:57
Оценка:
Здравствуйте, Zatrass, Вы писали:

Z>Нашел!!! Оказывается мое приложение КОНФЛИКТУЕТ с программой PROMT версия 6.0.0.36 !!!!! Она у меня постоянно открыта была. Закрыл программу, запускаю свое приложение — все работает без проблем !!!!! ALL, проверь если не сложно сей глюк с PROMT-ом !!!

Z>Операционка у меня XP SP2 с установленными всеми KB-шками..... FrameWork 2.0

Таже фигня, конфликтует с Punto Switcher'ом при включенной функции слежения за буфером обмена. Решил проблему так:

try
{
   Clipboard.SetText(myText);
}
catch (Exception) { }
Все программисты — оптимисты (с) Фредерик Брукс
Re: Clipboard
От: _Mihail Россия  
Дата: 13.07.07 11:46
Оценка:
Здравствуйте, Zatrass, Вы писали:

У меня с ReGet Deluxe 4.0 конфликтует.
Тоже обернул в Try Catch и сделал сообщение, типа, вырубите нахрен эти наглые проги
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.