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ł.
_______________________________________________
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to