[fpc-devel] windows shlobj SIGDN longint

gabor gabor at poczta.onet.pl
Thu Jun 25 11:48:26 CEST 2026


W dniu 2026-06-25 o 00:51, Mattias Gaertner via fpc-devel pisze:
> On 6/24/26 22:54, J. Gareth "Kit" Moreton via fpc-devel wrote:
>> Hmmm, that's a little bit difficult.  What happens if you define the 
>> constants as, say, "SIGDN_FILESYSPATH = longint($80058000);"?
> 
> Then it would compile.
> 
> But it seems the C code uses DWord, so why should FPC use longint?
> 
> Mattias

This is how it's defined in header file:
enum _SIGDN
     {
         SIGDN_NORMALDISPLAY	= 0,
         SIGDN_PARENTRELATIVEPARSING	= ( int  )0x80018001,
         SIGDN_DESKTOPABSOLUTEPARSING	= ( int  )0x80028000,
         SIGDN_PARENTRELATIVEEDITING	= ( int  )0x80031001,
         SIGDN_DESKTOPABSOLUTEEDITING	= ( int  )0x8004c000,
         SIGDN_FILESYSPATH	= ( int  )0x80058000,
         SIGDN_URL	= ( int  )0x80068000,
         SIGDN_PARENTRELATIVEFORADDRESSBAR	= ( int  )0x8007c001,
         SIGDN_PARENTRELATIVE	= ( int  )0x80080001,
         SIGDN_PARENTRELATIVEFORUI	= ( int  )0x80094001
     } 	SIGDN;

It looks like it's a signed integer.


https://github.com/tpn/winsdk-10/blob/9b69fd26ac0c7d0b83d378dba01080e93349c2ed/Include/10.0.16299.0/um/ShObjIdl_core.h#L7904

https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/ne-shobjidl_core-sigdn#constants

Michał.


More information about the fpc-devel mailing list