![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Доброго времени суток, Вингралюди. Есть такая проблема. Не работает клипборд в другом Треде. Исключений никаких нет. Просто там пусто. Предварительно я методом CTRL+C копирую из файлика строчку. Нажимаю CTRL+V - данные есть. А Clipboard.GetText() говорит, что там пусто.
Понятно что тут дело с потоками, и что текущий поток должен выполняется в режиме апартмента с одним потоком (STA). STAThreadAttribute в метод Main добавлял. Так же добавлял этот атрибут везде где только давало добавить. Не работает и все. Уверен что можно сделать как-то через делегаты, но что-то не могу вкурить как. Помогите плиз.
|
|||
|
||||
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Так тоже не конает.
Это сообщение отредактировал(а) Bladerender - 25.6.2009, 13:16 |
|||
|
||||
| Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
а зачем в этом примере вообще участует helper? -------------------- СУВ, Partizan. |
||||
|
|||||
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
А затем, что я запускаю как тред как раз метод класса ClipboardHepler. И в этом методе мне нужно доступатся до Clipboard
Это сообщение отредактировал(а) Bladerender - 25.6.2009, 13:46 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
Bladerender, сорри...не заметил, что Method объявлен в классе Helper...
-------------------- СУВ, Partizan. |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
Перед стартом потока вызывайте SetApartmentState(ApartmentState.STA); -------------------- СУВ, Partizan. |
|||
|
||||
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Работает!!!. Видно сразу было додуматся не судьба, как правильно синхронизировать эти потоки.
PS:2Partizan Спасибо, вечером попробую и Ваш способ, а то мой как-то длинновато получилось. Но все таки мне кажеться, что этот режим STA будет тормозить работу приложения. Попробуем. Это сообщение отредактировал(а) Bladerender - 25.6.2009, 16:10 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |