Hi, I just wanted to add some observations. You state in your message novel that the variable pMap is NULL. I recognize this variable name as possibly being the internel MFC CHandleMap. If this variable is NULL then you are incorrectly accessing MFC objects across a thread boundry. I would suggest that you research the following: Description of CWnd derived MFC objects and multithreaded applications in Visual C++[^] Inside MFC: Handle Maps and Temporary Objects[^] Best Wishes, -David Delaune