플러그인 (dll 파일)을 쓰고 있는데 인터페이스/대화 상자로 WinForm을 만들고 있습니다. 메시지 펌프가 필요한 경우 어떻게 그리고 어디서 만들어야합니까?.NET Framework를 사용하는 음성 인식에 메시지 펌프가 필요합니까?
1
A
답변
0
일반적인 방법으로 Winforms 응용 프로그램을 만드는 경우 자체 메시지 펌프가 만들어집니다. 그게 당신이 필요로하는 전부입니다.
1
WinForm 응용 프로그램을 만들 필요가 없습니다.
2
SpeechRecognitionEngine은 아파트 스레드 COM 서버를 둘러싼 래퍼입니다. 예, STA이고 메시지 루프를 펌핑하는 적어도 하나의 스레드가 필요합니다. 라이브러리를 작성 중이므로 클라이언트가 선택하는 것을 제어 할 수 없습니다. 하지만 음성 인식기를 교착 상태로 만드는 대신 문제가 있음을 알 수 있습니다. 클래스 생성자에이 검사를 추가
if (System.Threading.Thread.CurrentThread.GetApartmentState() !=
System.Threading.ApartmentState.STA) {
throw new InvalidOperationException("UI thread required");
}
체크는 약간 격이다, 그것은 또한 UI 스레드가있는 프로그램에서 작업자 스레드에서 생성 된 경우 인식기는 여전히 작동합니다. 이 모드는 매우 바람직하지 않지만 인식기에 대한 모든 호출은 마샬링되고 생성하는 모든 이벤트는 클라이언트에 의해 마샬링되어야합니다. 클라이언트가 그녀가 실제로 을 나타내도록 허용하는 기본 클래스 생성자에 인수를 제안하면은 스레드에서 인식기를 실행해야합니다.
관련 문제
- 1. 음성 인식에 사용 가능한 언어
- 2. 안드로이드에서 음성 인식에 대한 말하기 사용 안함을
- 3. ATL COM 개체에 메시지 펌프가 있습니까?
- 4. .net 문제의 음성 인식
- 5. PHP의 음성 메시지
- 6. .NET Framework를 어떻게 제거합니까?
- 7. Entity Framework를 사용하는 SQLite
- 8. 메시지 펌프가 필요한 API를 호출하는 WPF 응용 프로그램
- 9. .NET Framework를 배포하기위한 요구 사항
- 10. 어떤 버전의 .NET Framework를 대상으로해야합니까?
- 11. Entity Framework를 사용하는 오류 3023
- 12. .NET 음성 인식 네임 스페이스를 사용하는 경우에도 음성 인식을 수행하려면 Speech SDK를 설치해야합니까?
- 13. .Net을 사용하여 음성 메시지 보내기 및 나가기?
- 14. 리눅스 배포판은 .NET Framework를 기반으로 구축되었습니다.
- 15. Entity Framework를 사용하는 탐색 속성의 의미있는 이름
- 16. iPhone 용 음성 합성
- 17. MEF에는 .NET 4가 필요합니까?
- 18. 자바 음성 인식 Sphinx 4
- 19. Linux에서 .NET Micro Framework를 개발하는 방법은 무엇입니까?
- 20. .Net Framework를 부분적으로 설치할 수 있습니까?
- 21. Dotfuscator는 현재 .NET Framework를 지원하지 않습니까?
- 22. .NET Framework를 사용하여 마이크 오디오 스트림 캡처
- 23. 보드 게임을 만들려면 어떤 .NET Framework를 사용해야합니까?
- 24. 사용자 지정 설치 관리자는 .NET Framework를 감지해야합니다.
- 25. Chrome OS에서 .NET Framework를 지원할 가능성이 있습니까?
- 26. .NET Framework를 사용한 네트워크 대기 시간 시뮬레이션
- 27. .net 메시지 루프
- 28. .Net 데이터베이스 메시지 중계
- 29. .net 3.5 메시지 프레임
- 30. WPF 응용 프로그램은 메시지 펌프가 필요한 API를 호출합니다. Dispather.Run()에서 문제가 발생합니다.