2009-07-02 4 views
0

В нашем приложении C# мы используем объект COM третьей стороны (Thesycon), который запускает потоки для записи данных на сканирующее устройство из 7 файлов.Синхронизация потоков COM с .NET

Я начинаю метод написания по телефону

COM.StartWriting() 

и я могу остановить его по телефону

COM.StopWriting() 

Теперь проблема я не могу синхронизировать нити. Это означает, что из 7 я всегда пропускаю 4 файла. Если вы посмотрите в окне Debug, тип рабочего потока отображается как «BackGround» и MTA. Как синхронизировать потоки Main и Worker?

+4

Вам нужно разместить гораздо больше информации о методах, свойствах и событиях, доступных на COM-объекте, который вы используете. И что вы подразумеваете под невозможностью - можете ли вы изменить источник COM-объекта, но вы не знаете, как это сделать? Или это сторонний компонент? И более подробно объясните последовательность событий. Какой код создает файлы и дает им имена, и как они записываются, читаются и т. Д., И как они «пропущены»? –

ответ

0

Если объект COM не предоставляет никаких средств для мониторинга его процесса, тогда ответ будет НЕТ.

Если COM-объект предоставляет механизм, вам необходимо использовать это, чтобы определить, когда вы можете выполнить команду StopWriting.

Смежные вопросы