Just to let everyone know that v1.09 of XTaskDialog has been released. Updates for this version include:
- Updated the sample apps project settings to more modern default values.
- The supplied zip file now inclues a x64 Unicode DLL version of XTaskDialog built with VC 2008.
- Fixed a bug in calling SystemParametersInfo(SPI_GETNONCLIENTMETRICS,… ). The issue is that the NONCLIENTMETRICS structure can be bigger depending on the value of the WINVER preprocessor value. The code now ensures that the original base size of NONCLIENTMETRICS is used to ensure it works on down level operating systems. For more information on this issue, please see the MSDN documentation on the NONCLIENTMETRICS stucture. Also the second parameter to SystemParametersInfo in the code was incorrectly being set to 0, it is now set to the sizeof the structure. Thanks to Dick Smith for reporting this issue.
- Updated the code to be as independent as possible from the standard Windows preprocessor variables (WINVER, _WIN32_WINNT, _WIN32_WINDOWS & _WIN32_IE). Note the code still requires WINVER >= 0x500
Just to let everyone know that v2.83 of CPJNSMTPConnection has been released. Updates for this version include:
- Updated copyright details
- Fixed a bug where the Reply-To email address was not correctly added to the message. Thanks to Dmitriy Maksimov for reporting this issue.
- Updated the sample app’s project settings to more modern default values.
- Updated the sample exe to ship with OpenSSL v0.98k
- Fixed a bug in CPJNSMTPConnection::SendBodyPart where it would cause errors from OpenSSL when trying to send a body of 0 bytes in size. This can occur when MHTML based emails are sent and you are using a "multipart/related" body part. Thanks to "atota" for reporting this issue
It’s been a while since I released some new code on my web site as opposed to updates to existing code, so here goes<ggg>. CMapEx is a class derived from the MFC template class "CMap". It is designed to allow the "CompareElements" method which CMap uses at runtime, to be specified via a template parameter rather than via a global function. This approach is much more flexible and allows the way data is stored in the map to be configured at an instance level, rather than the annoying limitation in CMap which due to its design only allows you to control this globally i.e. if you have multiple map instances which happen to store the same types of data, then all of these instances must use the same "CompareElements" method. This is quite a limitation which I have just recently encountered in one of my projects.