2009-07-02 4 views
0

C# 응용 프로그램에서는 7 파일에서 스캔 장치에 데이터를 쓰는 스레드를 실행하는 thirdparty (Thesycon) COM 개체를 사용하고 있습니다. 이제 문제는 내가 스레드를 동기화 할 수 없어요이다COM 스레드와 .NET 동기화

나는

COM.StartWriting() 

를 호출하여 작성 방법을 시작하고 나는

COM.StopWriting() 

를 호출하여 중지 할 수 있습니다. 이것은 7에서 나는 항상 4 개의 파일을 놓친다는 것을 의미합니다. 디버그 창에서 보면 작업자 스레드 유형이 'BackGround'및 MTA로 표시됩니다. 주 스레드와 작업 스레드를 어떻게 동기화합니까?

+4

사용중인 COM 개체에서 사용할 수있는 메서드, 속성 및 이벤트에 대해 더 많은 정보를 게시해야합니다. 그리고 당신이 COM 객체의 소스를 수정할 수 있지만 당신은 어떻게 알지 못합니까? 또는 타사 구성 요소입니까? 그리고 사건의 순서를 더주의 깊게 설명하십시오. 어떤 코드가 파일을 생성하고 파일 이름을 지정하며 파일을 쓰거나 읽는 방법 등을 "잃어버린"방법은 무엇입니까? –

답변

0

COM 개체가 프로세스를 모니터링 할 수단을 제공하지 않으면 대답은 NO가됩니다.

COM 개체가 메커니즘을 제공하는 경우이를 사용하여 StopWriting을 수행 할 수있는시기를 결정해야합니다.