The information in this article applies to:
SYMPTOMSAn ATL control that superclasses a Windows control and runs on Windows NT can cause an access violation. CAUSE
When ATL registers the Window Class for the control, it copies the
WNDCLASSEX structure from the control it is superclassing. Because Windows
controls are a global class, that attribute is given to the ATL control.
RESOLUTIONIn the file Atlwin.cpp, insert the following line (on line 610)) in the function CContainedWindow::RegisterWndSuperclass() just before the call to RegisterClassEx :
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This bug has been corrected in Visual
Studio 97 Service Pack 1.
Q170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why MORE INFORMATION
This bug is hard to reproduce because it will only appear if the client
application unloads and then reloads the DLL and then the DLL is loaded at
another address. But any superclassed control built without the above
resolution may fail under the right conditions.
© Microsoft Corporation 1997, All Rights Reserved. Additional query words: Control SuperClass Access Violation
Keywords : kbActiveX kbATL200bug kbATL210bug kbCOMt kbCtrlCreate kbNTOS400 kbVC500bug kbVS97sp1fix kbWndwClass kbGrpMFCATL |
Last Reviewed: December 28, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |