![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Freak_FB |
|
|||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: 1 Всего: 4 |
Есть у меня ActiveX компонент для работы с базой данной Caché - VISM.ocx. Сам функционал компонента не в отображении его на форме. Но он ведёт себя после отображения именно как визуальный компонент - появляется на форме, имеет свойства положения и размера. Неправильно был сделан разработчиками, что тут скажешь.
В обычном Windows-приложении это не мешает - во время выполнения его не видно, задачу свою выполняет. Но проблемы начинаются, когда я хочу его использовать, например, в службе. Возникает исключение после его создания: System.Threading.ThreadStateException: Создание экземпляра элемента управления ActiveX '...' невозможно: текущий поток не находится в однопоточном контейнере. Как можно вырулить из такой ситуации? Как создать такой контрол не на форме, и быть способным с ним работать? P.S.: Разработчик открыто заявляет, что такое поведение будет исправлено в следующих версиях компонента, но я же не собираюсь ждать, пока они это сделают... The Caché Direct control (VISM.OCX) requires the use of some container, such as a PowerBuilder visual object or a Visual Basic form. For this reason, you cannot use the Caché Direct control with PowerBuilder’s non-visual objects. A future version of Caché Direct may however allow Caché Direct to be scripted as an Active X automation server. Это сообщение отредактировал(а) Freak_FB - 28.10.2008, 00:22 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
Freak_FB, создавать новый STA поток, в котором собственно работать с контролом....
единственная трудность - придётся разруливать взаимодействие между потоками... -------------------- СУВ, Partizan. |
|||
|
||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: 5 Всего: 13 |
Контрол визуальный, а службы иметь ничего визуального не могут. Мне почему-то кажется что никак :(
-------------------- ![]() |
|||
|
||||
| MasterOfCode |
|
|||
|
elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Вроде как можно нацепить на службу GUI, используют .NET Remoting или WCF. Недавно такую тему поднимали. -------------------- ![]() |
|||
|
||||
| Freak_FB |
|
|||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: 1 Всего: 4 |
Суть не в том шоб ГУИ повесить на службу. Мне та визуальность на фиг не нужна, я же сказал - компонент не имеет функционала визуального, он просто криво сделан.
Пробовал добавить этот компонент в консольное приложение - создало и не матюкнулось даже. А всё потому что был атрибут STAThread у метода Main(). Вопрос по теме: у виндовой проги такой атрибут стоит на вызове Main(), где создаётся сам класс приложения и окно. А где этот атрибут можно повесить в службу? |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
Freak_FB, я ж говорю, создавай новый STA поток и всю работу с этим контролом пихай туда...
-------------------- СУВ, Partizan. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |