Print Page | Close Window

CXTPTaskDialog - Windows XP issues

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Toolkit Pro
Forum Description: Topics Related to Codejock Toolkit Pro
URL: http://forum.codejock.com/forum_posts.asp?TID=23563
Printed Date: 15 August 2018 at 9:02am


Topic: CXTPTaskDialog - Windows XP issues
Posted By: ChrisBamford
Subject: CXTPTaskDialog - Windows XP issues
Date Posted: 08 February 2018 at 12:36pm
Hello All,

I hope this is the correct forum, my apologies if it is not.

We have recently upgraded to v18.3 of CodeJock from v16.3 to improve DPI support on Windows 10. This has been achieved.

However, when using CXTPTaskDialog on Windows XP 32 bit we are experiencing an issue where DoModal(FALSE) or DoModal() of an CXTPTaskDialog is causing application hangs. Obviously we need to be calling DoModal(FALSE) to not use CommCtl but either call will fail.

If I put the old Xtreme toolkit library back in place (v16.3) the DoModal(FALSE) calls work fine and messages are shown as expected.

Environment is:
- Visual Studio 2012 Version 11.0.61030.00 Update 4
- Xtreme Toolkit Pro for Visual C++   18.3
- Platform Toolset is Visual Studio 2012 - Windows XP 

I am having difficulty finding documentation to aid fault finding, is there an article I can read or a sample to look at ? The v18.3 sample when built as static release does not run on Windows XP even when using the v110_xp platform toolset.

Please help.

Many thanks.

Chris




Replies:
Posted By: olebed
Date Posted: 18 April 2018 at 10:32am
Hello Chris,

I found exact revision which introduce issue. As workaround you can modified file Source/Common/XTPDLLExports.h and rebuild library

instead of lines
  #if _MSC_VER > 1200 
  #include <sdkddkver.h>
  #endif

use old definitions:
  #if _MSC_VER > 1200
   // Modify the following defines if you have to target a platform prior to the ones specified below.
  // Refer to MSDN for the latest info on corresponding values for different platforms.
  #ifndef WINVER       // Allow use of features specific to Windows 95 and Windows NT 4 or later.
  #if _MSC_VER >= 1800
  #define WINVER 0x0502
  #elif _MSC_VER > 1500
  #define WINVER 0x0500
  #else
  #define WINVER 0x0400    // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
  #endif
  #endif
  
  #ifndef _WIN32_WINNT    // Allow use of features specific to Windows NT 4 or later.
  #if _MSC_VER >= 1800
  #define _WIN32_WINNT 0x0502
  #elif _MSC_VER > 1500
  #define _WIN32_WINNT 0x0500
  #else
  #define _WIN32_WINNT 0x0400   // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
  #endif
  #endif
  
  #ifndef _WIN32_WINDOWS   // Allow use of features specific to Windows 98 or later.
  #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
  #endif
  
  #ifndef _WIN32_IE      // Allow use of features specific to IE 4.0 or later.
  #if _MSC_VER >= 1800
  #define _WIN32_IE 0x0603
  #else
  #define _WIN32_IE 0x0500  // Change this to the appropriate value to target IE 5.0 or later.
  #endif
  #endif
  
  #endif
I think we will find better solution for next release.

Regards,
Oleksandr Lebed


Posted By: markr
Date Posted: 18 May 2018 at 5:40pm
> I think we will find better solution for next release.

Was a better solution found in time for the v18.4 release?



Posted By: olebed
Date Posted: 19 May 2018 at 3:51am
Unfortunately we haven't found better solution.



Print Page | Close Window