Anyone, who responsible to make fixes in code, please, check if my next suggestions can be applied.
=============
In file 'rtl\win\wininc\struct.inc' need declare NMHDR.code field as Integer (as in Delphi), not UINT.
I know, Windows SDK declare this as UINT, but constants, used in this field, are often declared as signed, e.g:
NM_CLICK = -(2);
NM_DBLCLK = -(3);
NM_KILLFOCUS = -(8);
NM_OUTOFMEMORY = -(1);This require explicit cast in every code (e. g. if Integer(NMHDR.code) = NM_CLICK then ...).
In Delphi NMHDR.code declared as Integer.
=============
packages\pasjpeg
Error usage after compile in -Mdelphiunicode mode. In file 'packages\pasjpeg\src\jpeglib.pas' member
jpeg_error_mgr.format_message still uses AnsiString which is wrong. Because at the end of file 'packages\pasjpeg\src\jconfig.inc' exists switch {$MODE DELPHI}
Possible solution: {$ifndef UNICODE}{$MODE DELPHI}{$endif}
=============
File 'packages\winunits-base\src\wininet.pp' - error compile in -Mdelphiunicode mode (with -dFPC_OS_UNICODE cmd line switch).
There is errors in declarations of overloaded functions
- FindFirstUrlCacheEntry
- FindNextUrlCacheEntry
