Windows 시스템 호출 (예 : ReadFile() 및 WriteFile())을 만드는 ActiveX (COM) DLL이 있습니다. 그것은 주요 파이썬 GUI 스레드에서 잘 작동합니다. 하지만 스레드에서 호출 될 때 내 Python GUI가 충돌합니다. 나는 온라인에서 약간의 연구를하고 있으며 나는 GIL로 무엇인가를해야한다고 생각하고있다. 나는 올바른 길을 가고 있는가? 아니면 올바른 방향으로 나를 가르쳐주십시오. 고맙습니다!파이썬 스레드에서 호출 된 ActiveX DLL
1
A
답변
0
이 코드를 보지 않고 아무 말도 어렵지만, 가능성이 그 중 하나입니다 :
- 귀하의 액티브 간단하게 (하지 않는 그들 중 많은) 멀티 스레딩을 지원하지 않습니다 그리고 당신은 다른에서 개체 작업을 시도 스레드.
- ActiveX가 포함 된 DLL은 일부 스레드 초기화를 수행하지만 다른 스레드에서 호출하면 초기화되지 않습니다.
어쨌든 나는 GIL에 대해 아무 말도 할 수 없지만 내 과거에는 ActiveX를 처리했지만, 문제의 원인은 ActiveX라고 생각됩니다.
0
관련 문제
- 1. 스레드에서 호출 된 ActiveX DLL
- 2. 일반 C 코드에서 C++ activex dll 호출
- 3. vb6에서 ActiveX dll 만들기
- 4. 외국어 스레드에서 파이썬 함수 호출 방법 (C++)
- 5. 파이어 폭스에서 ActiveX DLL 실행
- 6. 파이썬 스레드에서 TBB 'parallel_for'호출
- 7. ActiveX 컨트롤로 사용되는 .NET DLL 서명
- 8. VB6에서 ActiveX DLL 프로젝트의 ActiveX 컨트롤을 자동으로 업그레이드하지 못하도록합니다.
- 9. 다른 스레드에서 DLL 함수를 호출해야합니다.
- 10. FreeBSD의 감옥은 파이썬 스레드에서
- 11. 스레드에서 UI 응용 프로그램 호출
- 12. 다른 DLL에서 호출 된 DLL 디버깅
- 13. DLL 함수가 새 스레드에서 자동으로 실행됩니까?
- 14. Activex dll - http 세션의 새 인스턴스
- 15. 비 관리자 사용자 용 DLL (ActiveX) 등록
- 16. 스레드에서 Invoke/BeginInvoke 호출
- 17. dll 함수 호출
- 18. IE9의 JavaScript에서 ActiveX 메서드 호출
- 19. 파이썬 코드에서 DLL 컴파일
- 20. Delphi에서 포인터로 DLL 호출
- 21. Java에서 .NET DLL 호출
- 22. WinAPI 스레드에서 NS_DispatchToMainThread 호출
- 23. AudioTrack : 스레드에서 호출 시작
- 24. 다른 스레드에서 runOnUiThread 호출
- 25. 여러 스레드에서 Console.WriteLine 호출
- 26. 스레드에서 호출 클래스로 콜백
- 27. 스레드에서 슬립 시스템 호출
- 28. C++ 스레드에서 메소드 호출
- 29. performSelectorInBackground : 백그라운드 스레드에서 호출
- 30. 여러 스레드에서 파이썬 단위 테스트
DLL은 아파트 스레드 (STA)입니다. C# GUI에서 호출 할 때 작동합니다. http://msdn.microsoft.com/en-us/library/aa261361%28v=vs.60%29.aspx – tosa
스레드에서 DLL의 새 인스턴스를 만드는 경우 Python에서 작동합니다. 또한 C#의 주 스레드를 차단하지 않으려면 새 인스턴스를 스레드에 만들어야합니다. DLL의 새 인스턴스를 만드는 것을 피할 수있는 방법이 있습니까? – tosa