Archive

Archive for July, 2010

COSMCtrl v1.08

July 22, 2010 Comments off

Just to let everyone know that v1.08 of COSMCtrl has been released. Updates for this version include:

  • Updated the code to work with GDI+ v1.0 which is the version supported prior to Windows Vista. Thanks to Richard Dols for reporting this issue.
  • Fixed a bug in DrawScaleBar where the actual distance shown would be out by a factor of two when the zoom value was anything other than zero. Thanks to Richard Dols for reporting this embarrassing mistake.
  • Fixed a redraw glitch for polylines by modifying COSMCtrl::GetBoundingRect(const COSMCtrlPolyline& polyline… and COSMCtrl::GetBoundingRect(const COSMCtrlPolygon& polygon… to not be as aggressive with its inclusion of the extra margin.
  • The SetTileProvider method now calls Invalidate internally. This ensures that the map cleanly updates when you switch tile providers.
Categories: Web Site Updates

CSortedArray / CSortedArrayEx v1.42

July 11, 2010 Comments off

Just to let everyone know that v1.42 of CSortedArray / CSortedArrayEx has been released. Updates for this version include:

  • Updated copyright details
  • Updated sample app to compile cleanly on VC 2010
  • Optimized code in the Sort method which remembers the "key" element while the quicksort is being performed. Thanks to Michael Stephenson for reporting this optimization.
Categories: Web Site Updates

CPJNSMTPConnection v2.88

July 10, 2010 Comments off

Just to let everyone know that v2.88 of CPJNSMTPConnection has been released. Updates for this version include:

  • Following feedback from multiple users of PJNSMTP, including Chris Bamford and "loggerlogger", the change from "multipart/mixed" to "multipart/alternative" has now been reverted. Using "multipart/mixed" is a more appropriate value to use. Testing by various clients have shown that this setting works correctly when sending HTML based email in GMail, Thunderbird and Outlook. Unfortunately this is the price I must pay when accepting end user contributions to my code base which I cannot easily test. Going forward I plan to be much more discerning on what modifications I will accept to avoid these issues.
  • The CPJNSMTPBodyPart now has the concept of whether or not the body is considered an attachment. Previously the code assumed that if you set the m_sFilename parameter that the body part was an attachment. Instead now the code uses the "m_bAttachment" member variable. This allows an in memory representation of an attachment to be added to a message without the need to write it to an intermediate file first. For example, here would be the series of steps you would need to go through to add an in memory jpeg image to an email and have it appear as an attachment:
    const BYTE* pInMemoryImage = pointer to your image;
    DWORD dwMemoryImageSize = size in bytes of pInMemoryImage;
    CPJNSMPTBase64Encode encode;
    encode.Encode(pInMemoryImage, dwMemoryImageSize, ATL_BASE64_FLAG_NONE);
    CPJNSMTPBodyPart imageBodyPart;
    imageBodyPart.SetRawBody(encode.Result());
    imageBodyPart.SetBase64(TRUE);
    imageBodyPart.SetAttachment(TRUE);
    imageBodyPart.SetContentType(_T("image/jpg"));
    imageBodyPart.SetTitle(_T("the name of the image"));
    CPJNSMTPMessage message;
    message.AddBodyPart(imageBodyPart);
    Thanks to Stephan Eizinga for suggesting this nice addition.
Categories: Web Site Updates

CTrayNotifyIcon v1.63

July 10, 2010 Comments off

Just to let everyone know that v1.63 of CTrayNotifyIcon has been released. Updates for this version include:

  • Updated the sample app to compile cleanly on VS 2010.
  • Fixed a bug in CTrayNotifyIcon::Delete where the code would ASSERT if the tray notify icon was never actually created. Thanks to "trophim" for reporting this bug.
Categories: Web Site Updates

DtWinVer v1.81

July 5, 2010 Comments off

Just to let everyone know that v1.81 of DtWinVer has been released. Updates for this version include:

  • Added support for the following Product types: PRODUCT_ENTERPRISE_E, PRODUCT_HOME_BASIC_E, PRODUCT_HOME_PREMIUM_E, PRODUCT_PROFESSIONAL, PRODUCT_PROFESSIONAL_E, PRODUCT_PROFESSIONAL_N, PRODUCT_SERVER_FOR_SMALLBUSINESS, PRODUCT_SERVER_FOR_SMALLBUSINESS_V, PRODUCT_SERVER_FOUNDATION, PRODUCT_SOLUTION_EMBEDDEDSERVER, PRODUCT_STARTER_E, PRODUCT_STARTER_N, PRODUCT_ULTIMATE_E. This means that the code now fully supports Windows 7 Professional, Windows E Edition (The version of Windows 7 that was to be released in Europe without Internet Explorer 8), Windows Server 2008 R2 Foundation Server and Windows Multipoint Server 2010.
  • Changed some of the names of the class methods for overall consistency
Categories: Web Site Updates

DtWinVer v1.80

July 5, 2010 Comments off

Just to let everyone know that v1.80 of DtWinVer has been released. Updates for this version include:

  • Updated copyright details
  • Added a IsWindowsVistaOrWindowsServer2008 method
  • Added a IsWindows7OrWindowsServer2008R2 method
  • Reworked the logic in all the Windows 2008 methods to use IsWindowsVistaOrWindowsServer2008 instead of IsWindowsServer2008. Thanks to Matt Fox for reporting this issue.
  • Added comprehensive support for Windows 2008 R2
  • Reworked the GetInfoBySpawingWriteVer method to work correctly on OSes which use UAC. The code now uses _tempnam which places the temporary file in the "TMP" directory.
  • Fixed a bug in GetInfoBySpawingWriteVer where it incorrectly parsed the dwSuiteMask values.
  • Extended WriteVer and GetInfoBySpawingWriteVer to also update dwSuiteMask2
  • Fixed a bug in the test app where it was incorrectly calling IsEmulated64Bit instead of IsUnderlying64Bit to report whether the underlying OS was 64 bit or not.
Categories: Web Site Updates

AA+ v1.44

July 4, 2010 Comments off

Just to let everyone know that v1.44 of AA+ has been released. Updates for this version include:

  • Fixed various compiler warnings and errors when the code is compiled using C++ Builder. Thanks to Neil Bingham for reporting these issues.
  • Removed unnecessary "Longitude" parameter from method CAAParallax::Ecliptic2Topocentric.
Categories: Web Site Updates