2007. 4. 1. 02:04 개발
# 원인
사용하고자 하는 ActiveX 컨트롤또는 DCOM 클라이언트가 어떤 이유로 인해 응답하지 못하고 있는 상태입니다. 다음과 같은 이유에서 발생할 수 있습니다.
1. ActiveX 컨트롤이 초기화되기 전에 클라이언트 애플리케이션이 이를 사용하려고 시도할 때
2. 시스템이 느리거나 동시에 많은 애플리케이션이 동작 중이어서 ActiveX 컨트롤이 응답하지 못하는 경우
3. ActiveX 컨트롤의 설계에 문제가 있어서 응답이 늦도록 제작되어 있을 때
# 해결 방법
다음과 같이 CWinApp::InitInstance()의 파생 함수에서 COleMessageFilter::SetMessagePendingDelay() 함수를 이용하여 ActiveX 컨트롤의 응답을 기다리는 시간을 길게 설정하면 됩니다.
#include "AfxOle.h"
BOOL CMyApp::InitInstance() {
// ...
AfxOleInit();
COleMessageFilter* pFilter=AfxOleGetMessageFilter();
pFilter->SetMessagePendingDelay(15000); // Default는 5000ms입니다.
pFilter->EnableBusyDialog(FALSE); // 메세지박스를 화면에 나타나게 하지 않게 합니다.
pFilter->EnableNotRespondingDialog(FALSE);
// ...
}
관련 링크
http://support.microsoft.com/kb/602164/ko
c/c++ 간단 토글링 (0) | 2007.05.22 |
---|---|
XmlLite SDK 관련.. (0) | 2007.04.12 |
도서물 도착!! (0) | 2007.04.09 |
H.264 white paper(intel) (0) | 2007.04.02 |
C++에서 ADO를 이용한 Stored Procedure 사용법 (0) | 2007.04.01 |
MFC COM 클라이언트 애플리케이션에서 "서버 작업 중" 메세지 박스 처리법 (0) | 2007.04.01 |
Copyright ⓒ 지오아빠의 일상다반사 All Rights Reserved. | Designed by CMSFactory.NET
Recent Comments