|
Какие проблемы при обращении к COM объекту не из главного потока программы ?
|
|||
---|---|---|---|
#18+
Привет. Имеется программа, работающая с COM через "позднее связывание" (как я понимаю) таким образом: Код: c# 1. 2. 3. 4.
В других языках, насколько я помню, требуется вызов COInintialize для потока, в котором будет обращение к COM. Есть ли в C# какие то проблемы с работой с этим COM объектом из разных потоков ? Какие там подводные камни ? PS. Что то очень мало сведений по COM в книгах C#. Смотрел содержание книг того же Рихтера, Троелсена. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 14:38 |
|
Какие проблемы при обращении к COM объекту не из главного потока программы ?
|
|||
---|---|---|---|
#18+
если используешь фреймворк 4.0 можешь не париться с инвок мембер, а записывать созданный инстанс в dynamic переменную и вызывать методы на прямую. проблем с вызовом из разных потоков быть не должно. сведений мало, потому что сам дотнет пришел на смену кому и построен на его базе(слр по сути ком сервер) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 18:48 |
|
Какие проблемы при обращении к COM объекту не из главного потока программы ?
|
|||
---|---|---|---|
#18+
MsSql_StudyPS. Что то очень мало сведений по COM в книгах C# По собственно COM без c# хороших книг мало http://msdn.microsoft.com/en-us/library/bd9cdfyx(v=vs.110).aspx - для начала здесь достаточно информации COInintialize - не беспокойтесь, в c# всегда будет вызван автоматически С подводными камнями - разбираться по мере поступления ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2013, 09:51 |
|
Какие проблемы при обращении к COM объекту не из главного потока программы ?
|
|||
---|---|---|---|
#18+
Esofterесли используешь фреймворк 4.0 можешь не париться с инвок мембер, а записывать созданный инстанс в dynamic переменную и вызывать методы на прямую. Очень понравилось предложение. Код был бы конечно красивее ! Но var можно использовать только для локальных переменных. А COM объект хранится в поле класса. Код из первого поста, он просто чуть упрощен, чтобы показать все в сжатом виде. Это противоречие не разрешить ? Спрашиваю просто ради интереса, ибо может есть какой то хитрый трюк :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2013, 20:25 |
|
Какие проблемы при обращении к COM объекту не из главного потока программы ?
|
|||
---|---|---|---|
#18+
MsSql_StudyНо var можно использовать только для локальных переменных var и dynamic не путай ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2013, 23:16 |
|
Какие проблемы при обращении к COM объекту не из главного потока программы ?
|
|||
---|---|---|---|
#18+
MsSql_StudyА COM объект хранится в поле класса. Код из первого поста, он просто чуть упрощен, чтобы показать все в сжатом виде. Это противоречие не разрешить ? Спрашиваю просто ради интереса, ибо может есть какой то хитрый трюк :) не вопрос. поле класса объяви как dynamic. Ведь это не кейворд в конце концов, а специальный алиас Object+метаданные ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2013, 00:11 |
|
|
start [/forum/topic.php?fid=20&fpage=136&tid=1403598]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 158ms |
0 / 0 |