Hi I would like to report some of seemingly defects that are present in version 18.01.
1. warning C4819 1.1) In Source/Common/XTPEnableAdvancedWarnings.h Line 132
Col 53 1.2) In Source/Common/XTPVersion.h Line 61 Col 43 1.3) In Source/Controls/Combo/XTPFontComboBox.h Line 329 Col 20 1.4) In Source/FlowGraph/XTPFlowGraphNodeCustom.h Line 85 Col 56
2. Compile Error In Source/CommandBars/XTPPaintManager.h Line 1454 Below members are omitted.
CXTPFont m_xtpFontRegular;
CXTPFont m_xtpFontRegularBold;
CXTPFont m_xtpFontVert;
CXTPFont m_xtpFontVertBold;
3. Debug Build GdiPlus 3.1) In Source/GraphicLibrary/GdiPlus/GdiPlusBase.h 3.2) When using static linking debug new & delete for GdiPlus are also missing.
void* (operator new)(size_t nSize,
LPCSTR /*lpszFileName*/, int /*nLine*/)
{
return DllExports::GdipAlloc(nSize);
}
void operator delete(void* p, LPCSTR /*lpszFileName*/, int
/*nLine*/)
{
DllExports::GdipFree(p);
}
4. (fixed) CXTPSystemVersion::GetComCtlVersion() Error
dwVersion conditional statement seems to have error.
DWORD
CXTPSystemVersion::GetComCtlVersion() const
{
static DWORD dwVersion = 0;
if (0 != dwVersion) -> think this should be if (0 == dwVersion)
{
dwVersion =
CXTPModuleHandle(_T("comctl32.dll")).GetVersion();
if (0 == dwVersion)
dwVersion = MAKELONG(0, 4); // Old ComCtl32
had version 4.0
}
return dwVersion;
}
5. Strange behavior with m_xtpBrushWindow 5.1) when m_xtpBrushWindow uses cached brush that was formerly created from m_xtpBrushTheme (color and type are same) 5.2) For multi line edit control, whose edit region is set from application, or IP address edit control, white color border is being drawn in editing region instead of the color that was set as skin's COLOR_WINDOW.
5.3) when m_xtpBrushWindow is not a cached brush, but additionally created HBRUSH, then it displays as expected.
6. Skin doesn't get reflected in some cases, these cases were actually normally working cases with former version. 6.1) LoadSkin succeeds but, in some Windows 7 PC set skin doesn't get reflected. 6.2) This gets fixed if USER32.dll is added as ExcludeModule in CXTPSkinManagerApiHook::CXTPSkinManagerApiHook() as below.
ExcludeModule(_T("SHLWAPI.DLL"),
TRUE);
ExcludeModule(_T("COMCTL32.DLL"), TRUE);
ExcludeModule(_T("KERNEL32.DLL"), FALSE);
ExcludeModule(_T("USER32.DLL"), FALSE); ///< Here.
ExcludeModule(_T("GDI32.DLL"), FALSE);
ExcludeModule(_T("WININET.DLL"), FALSE);
ExcludeModule(_T("MSCTF.DLL"), FALSE);
ExcludeModule(_T("ACLAYERS.DLL"), FALSE);
6.3) (fixed) In CXTPSkinManagerApiFunction::ReplaceInOneModule(), even when bReplaced is true, bAtLeastOneReplaced should be TRUE.
if (bFound)
{
...
{
...
bAtLeastOneReplaced = TRUE;
}
}
else if (bReplaced) {
bAtLeastOneReplaced = TRUE;
}
I wish this report leads to productive discussions, or solutions. Maybe someone is out there having the same trouble i just had.
Cheers.
|