문제

DLL의 CSocket을 기반으로 한 클래스가 있으며, 수신 스트림을 유지하기위한 다양한 나사 버퍼가 있습니다. 타이머를 사용하여 버퍼를 폴링하여 무엇이든 꺼내야하는지 확인한 다음 표시되는 몇 가지 응용 프로그램이 완벽하게 작동합니다.

이제 Excel 모듈에서 일부 VBA 코드 인 매크로를 얻었습니다. 타이머는 예상대로 발사되지만 DLL은 스크롤 탭이나 Excel의 제목 표시 줄에 마우스 버튼을 누르면 버퍼에 물건이 있다고 만듭니다! 따라서 Excel 창을 이동하려면 버퍼에서 가져온 데이터로 테이블이 채워지기 시작합니다. 창을 프로그래밍 방식으로 움직이면 작동하지 않습니다. 어떻게 든 마우스 초점은 Excel 창의 프레임에 있어야합니다. 창의 왼쪽 상단에 시스템 메뉴를 열면 작동합니다. (이것은 Excel 2003 SP3 Btw입니다.)

올바른 솔루션이 없습니다

다른 팁

'수락 된'답변의 경우 위의 의견을 참조하십시오 (MoD가 거절하고 아마도 OP가 진행되지 않는 것)를 전송할 수 없습니다). 즉:

DLL을 자체 스레드에 넣으십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top