Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
19.11.2013, 22:25
|
|||
---|---|---|---|
|
|||
Нужно переделать работу с COM Объектом. Прошу совета. |
|||
#18+
Друзья. Дайте совет. У меня имеется на руках COM объект, и программа его вызывающая (на C#). Нужно ее доработать, а возможности обратится к ее предыдущему разработчику нет, ввиду того, что он уже давно уволился. У программы C# две обязанности: 1. Следит за управляющими сообщениями в БД. А также записывает туда статистическую информацию. 2. Вызывает соответствующие методы COM объекта. Сам COM регистрируется в системе таким образом Код: pascal 1.
Он выполнен в виде DLL и регистрируется стандартным resvr32 А работа с COM идет в C#, как я понимаю, через позднее связывание (или я ошибаюсь) таким кодом: Код: c# 1. 2. 3. 4.
Мне нужно переделать это, чтобы эти 2 работы велись в двух потоках. Дело в том, что вызов метода COM-объекта, существенно стопорит вторую задачу (запись стат информации в БД). И пока она не вернет Или Как я вижу, может не все так сложно. Возможно мне просто нужно вынести в отдельный поток работу, записывающую стат информацию в БД ? Это, мне кажется, должно быть гораздо проще - просто запустить бесконечный цикл в отдельном потоке, и он будет спокойно раз в несколько секунд записывать в БД. У меня есть некоторые знания по COM, но очень давно не было практики (лет 5 назад была, но не сказать что был профи - так пара созданных COM объекта). Дайте пожалуйста советы как это можно реализовать. В частности, я смутно вспоминаю про методы типа CoInitialize - которые должны быть вызваны для работы из другого потока, или я сильно ошибаюсь и к C# это не имеет отношения. Может быть ссылки у кого полезные есть, в плане работы с COM из разных потоков ? Ибо "COM Interop Tutorials" ясности не внесли. Как думаете ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1403661]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 325ms |
total: | 496ms |
0 / 0 |