[fpc-devel] FPC 3.2.0RC1 released!

NetSpirit netspirit at meta.ua
Tue May 19 09:43:26 CEST 2020


> if anyone wants to assign me one of the new bugs to fix that have been
> raised since the RC was released, I'll be happy to take a look. >
> Gareth aka. Kit


Not special for this RC but some bugs:

===
1) packages\winunits-base\src\wininet.pp

Compilation error in -Mdelphiunicode: bad declaration of overloaded functions
FindFirstUrlCacheEntry()
FindNextUrlCacheEntry()
with 'W' versions of arguments

Must be equivalent to such with 'A' arguments.

Line 2593:
function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR;
lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var
lpcbCacheEntryInfo:LongWord):HANDLE;stdcall;external WININETLIBNAME name
'FindFirstUrlCacheEntryW';

Line 2636:
function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR;
lpFirstCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var
lpcbCacheEntryInfo:DWORD):HANDLE;stdcall;external WININETLIBNAME name
'FindFirstUrlCacheEntryW';

Line 2637:
function FindNextUrlCacheEntry(hEnumHandle:HANDLE;
lpNextCacheEntryInfo:LPINTERNET_CACHE_ENTRY_INFOW; var
lpcbCacheEntryInfo:DWORD):BOOL;stdcall;external WININETLIBNAME name
'FindNextUrlCacheEntryW';

Line 2656:
function FindFirstUrlCacheEntry(lpszUrlSearchPattern:LPCWSTR; var
lpFirstCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW;
lpcbCacheEntryInfo:LPDWORD):HANDLE;stdcall;external WININETLIBNAME name
'FindFirstUrlCacheEntryW';

Line 2657:
function FindNextUrlCacheEntry(hEnumHandle:HANDLE; var
lpNextCacheEntryInfo:INTERNET_CACHE_ENTRY_INFOW;
lpcbCacheEntryInfo:LPDWORD):BOOL;stdcall;external WININETLIBNAME name
'FindNextUrlCacheEntryW';

===

2) rtl\win\wininc\struct.inc

Members 'lData' of NEWCPLINFOA/NEWCPLINFOW have different types. I think
both must be LONG_PTR.

Member 'code' of NMHDR must have 'Integer' type, becouse constants, used
here, are signed. This cause wrong comparison results or require explicit
cast everywhere in user code.

===

3) This bug still exists:

https://lists.freepascal.org/pipermail/fpc-devel/2016-November/037539.html

===
4) packages\pasjpeg\src\jconfig.inc

There is explicit declaration of {$MODE DELPHI}, so 'pasjpeg' is
incompatible with -Mdelphiunicode.
Can be '{$ifndef UNICODE}{$MODE DELPHI}{$endif}'


===
Just question. Why NativeInt / NativeUInt declaration changed to strong
aliases? To be new Delphi compatible? But this inconvenient in Delphi, and
so in FPC. Old code become broken.








More information about the fpc-devel mailing list