Registry configuration is very convenient, but it will cause many problems.
I believe that when you debug this library, the previous settings remain in your registry,
which will leads the programs running in a different path you may not cover.
So, it is not easy to find the hidden bugs.
Why not use "ini" or "xml" to save the configuration ?
This will keep the program "green".
And it is very easy to test the program when there is or there isn't previous settings.
The following samples will result in an exception or failed to start if I delete previous settings in the registry:
Browser -> GeWindowRect: m_hWnd is NULL
Explorer ->GeWindowRect: m_hWnd is NULL
FastGDI -> MainFrame CreateEx failed
FormDemo-> MainFrame CreateEx failed, most params of m_pcs are 0 or NULL
Frame -> MainFrame CreateEx failed, most params of m_pcs are 0 or NULL, especially hInstance is NULL
GDIPlus ->MainFrame CreateEx failed
MDIFrame -> HWND CWnd::Create(CWnd* pParent /* = NULL */) Faield, m_hWnd is NULL
MDIFrameDemo -> HWND CWnd::Create(CWnd* pParent /* = NULL */) Faield, m_hWnd is NULL
MDIFrameSplitter ->HWND CWnd::Create(CWnd* pParent /* = NULL */) Faield, m_hWnd is NULL
Splitter ->Win32xx::CWnd::GetClientRect(), m_hWnd is NULL
Windows Xp Professional sp3
Maybe not all crashes of these programs are not because of registry.
It is Microsoft that recommends that the registry should be used in preference to "ini" files. Applications looking to be certified for Windows are required not to use "ini" files. Also, the use of "ini" files is rather likely to cause problems on the more modern operating systems like Vista and Windows 7. These operating systems will require administration privileges if an application writes to any file outside the user's home directory (or a subdirectory thereof).
I installed Visual Studio 6 and SP6 on a virtual machine running Windows XP Professional with SP3. After removing the Win32++ registry entries I compiled each of the samples you mentioned. The Splitter sample required an adjustment to find the Win32++ header files, and GDIPlus failed because I didn't bother to install the PlatformSDK, but none of them showed any indication the problem you mentioned.
I wonder at this stage if you might be mistaken with the problems attributed to the use of the registry. Perhaps the problem lies elsewhere?
Anyway please get back to me with any information that might clarify the situation.
please IGNORE this thread and refer to
They are the same questions.
Log in to post a comment.