Hi Przemek,

Changed to HB_LONG.

On the other side, I really wonder why this function would require a 64 bit PTR 
to send the LONG style ...
But who know :-)

Regards,

JF

-----Message d'origine-----
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De la part de Przemyslaw 
Czerpak
Envoyé : vendredi 11 juillet 2008 19:03
À : Harbour Project Main Developer List.
Objet : Re: [Harbour] 2008-07-11 18:20 UTC+0200 JF Lefebvre (MAFACT) 
(jfl/at/mafact.com)

On Fri, 11 Jul 2008, J. Lefebvre wrote:

Hi,

>   * harbour/source/rtl/gtwvt/gtwvt.c
>     * Change LONG_PTR to LONG as LONG_PTR was unknow by MSVC compiler and 
> finally the expected type for SetWindowLongPtr() is LONG.
>     * protected by a #define the call to SetWindowLongPtr(), not know by MSVC 
> 6 (_MSC_VER < 1400)
>     * not tested as working, just compile ok  !!!

This break 64bit compatibility. In Win64 LONG is 32bit integer and pointer
needs 64 bits. So casting pointer or win handles to LONG is not safe because
it strips upper 32 bits.
Please revert it and use casting to HB_PTRDIFF which is defined in hbdefs.h
with the size enough to hold pointers.

best regards,
Przemek
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to