|
프로그램 프로세스가 전송부이 동기통신이 되어 windows 의 응답검사에 응하지 못해서 그렇습니다.
해결책은
1. 보내는 부분의 중간중간에 아래를 수행(함수로 만들어 호출하는것이)
MSG msg;
while(::PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
2. C++ Builder라면 Application->ProcessMessage() << 메소드명이 정확한지 모르겠음.
1번 코드와 같다고 보심 됩니다. 호출해주든지.
3. 보내는 부분을 Thread 로 만들어 사용하든지 (비동기 통신 으로 하든지)
4. 아얘 전송 부분을 새로운 exe(프로세스)로 만들어 개별적으로 보내는 방법
등이 있을듯 합니다.
윈도우 응답을 아예 무시 시키는 방법도 있는듯 한데요... 질문에 다른 동작을 하고 싶다니까.. 그러면 안되겠지요..
살라 님이 쓰신 글 :
: 안녕하세요~
:
: 제가 스트림 data를 케이블에 write하는 프로그램을 구현하고 있습니다.
:
: 지금 문제점이 write를 하면 동작을 하는데, 프로그램이 응답없음? 상태로만 계속 있습니다.
:
: 데이터를 보내는건 보내는거대로 동작을 하게하면서 프로그램에서 다른 이벤트를 실행할 수 있도록 구현하고 싶은데
:
: 어떤 방식이나 컴포넌트를 이용해야 하는지 아직 빌더에 대해 감이 안잡혀서.. 조언 구하고 싶습니다. ㅠㅠ
|