Windows 98 Bug in CAxDialog ?! 
Author Message
 Windows 98 Bug in CAxDialog ?!

Hi, All
I've found up the Windows 98 bug in the CAxDialog. The callback function
AtlAxWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) receives
incorrect lParam, so an activex controls gets wrong IStream data. It's bad
news for me. Any suggestions?
Best regards

Fri, 16 Jan 2004 20:40:14 GMT  
 Windows 98 Bug in CAxDialog ?!

Yes, this is a bug in AtlHost.h.

 In AtlAxWindowProc:

   if (lpCreate && lpCreate->lpCreateParams)
       nCreateSize = *((WORD*)lpCreate->lpCreateParams);

lpCreateParams is the address of a SHORT value that specifies the size, in
bytes, of the window creation data. The value is immediately followed by
the creation data. The problem is, this is valid only on WinNT/Win2K (see
the CREATESTRUCT documentation for more information). So, the ActiveX
control gets initialized correctly in WinNT/Win2K, but on Win95/Win98, the
data starts right at lpCreateParams, and the initialization doesn't work.

To fix this problem, please download Atlhostlic.h from Microsoft and
replace Atlhost.h. In your project, please include "atlhostlic.h". The
download link is below.


Sat, 17 Jan 2004 17:51:41 GMT  
 [ 2 post ] 

 Relevant Pages 

1. Bugs in Windows 98 ?

2. Bug with getche under Windows 95 and 98

3. 16 bit apps in Korean Windows 98 BUG!

4. Windows Palette in Windows 98/Me

5. Windows Palette in Windows 98/Me

6. Is programming windows 98 the same as programming windows 2000

7. DLL loading (Windows NT vs Windows 98)

8. Porting Windows 2000 program to windows 98

9. VC++, windows 2000 and windows 98

10. Windows 98 Windows NT Visual C++ V1.52 and low level graphics

11. Dialog Resource Color Changed from Windows 98 to Windows 2000

12. Bitmap Color Change when I changed from Windows 98 to Windows 2000


Powered by phpBB® Forum Software