diff --git a/harbour/ChangeLog b/harbour/ChangeLog index b7f67e802d..ca9e05350e 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,11 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-02-11 18:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbwin/win_dll.c + + Added 'double' type support for win64 .dll call. + ; Untested, pls review. + 2010-02-11 18:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbwin/win_dll.c % Simplified win64 support. diff --git a/harbour/contrib/hbwin/win_dll.c b/harbour/contrib/hbwin/win_dll.c index 50b4681156..1dcfda0f3d 100644 --- a/harbour/contrib/hbwin/win_dll.c +++ b/harbour/contrib/hbwin/win_dll.c @@ -421,7 +421,7 @@ static HB_U64 hb_u64par( PHB_WINCALL wcall, int iParam ) break; case HB_IT_DOUBLE: - /* TODO */ + HB_PUT_LE_DOUBLE( ( BYTE * ) &wcall->pArg[ iParam - 1 ].nValue, hb_itemGetND( pParam ) ); break; case HB_IT_STRING: @@ -494,8 +494,7 @@ static void hb_u64ret( PHB_WINCALL wcall, HB_U64 nValue ) case CTYPE_FLOAT: case CTYPE_DOUBLE: - /* TOFIX */ - hb_retnd( 0 ); + hb_retnd( HB_GET_LE_DOUBLE( ( HB_BYTE * ) &nValue ) ); break; } } @@ -596,8 +595,7 @@ static void hb_DllExec( int iCallFlags, int iRtype, FARPROC lpFunction, PHB_DLLE break; case HB_IT_DOUBLE: - /* TOFIX */ - hb_stornd( 0, iFirst + tmp ); + hb_stornd( HB_GET_LE_DOUBLE( ( HB_BYTE * ) &wcall.pArg[ tmp ].nValue ), iFirst + tmp ); break; case HB_IT_STRING: