본문 바로가기
C# Invoke로 크로스 스레드 해결, 간략한 소스 응용 [C#강좌] C# Invoke로 크로스 스레드 해결, 간략한 소스 응용 [C#강좌] C# Invoke는 이럴 때 써야 합니다. 아래 에러 메시지 보시죠. InvalidOperationException이(가) 처리되지 않았습니다. 또는, 이럴 때도 C# Invoke를 써야 하죠. 처리되지 않은 'System.InvalidOperationException' 형식의 예외가 System.Windows.Forms.dll에서 발생했습니다. 추가 정보: 크로스 스레드 작업이 잘못되었습니다. 'tb_received' 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스 되었습니다. 위 에러가 발생했을 때 해결하는 방법은 3가지였습니다. (C# Invoke를 사용하지 않았을 때) 1. 델리게이트를 선언하고 그곳에 맞는 콜백 함수.. 2017. 11. 18.
[Qt프로그래밍] Thread를 GUI에서 효율적으로 사용 방법 [Qt5] [Qt프로그래밍] Thread를 GUI에서 효율적으로 사용 방법 [Qt5] C#도 그렇고 Qt도 그렇고 버전이 올라갈 때마다 더 많고 합리적인 라이브러리가 추가(수정)됩니다. (C# 스레드풀 예제[링크]) Qt는 이전부터 그래왔지만, 기본 스레드에서 GUI의 도구에 접근할 때면 여러 경고 메시지를 내뿜습니다. 가령, 아래처럼 말이죠. Qt프로그래밍 중 자주 보게 될 에러입니다. 12QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another threadcs 그렇기에, 굳이 스레드가 필요하다면 아래 사이트를 참조해 별도의 스레드를 구현할 필요가 있습니다. Timer는 독립적으로 구동되어야 합니다. GUI 도구에 영향.. 2017. 1. 8.