From a47418cdddf688d8f016035e05e08e213aaecdaf Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 13 Aug 2008 01:51:45 +0000 Subject: [PATCH] 2008-08-13 03:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed one possible minor bug (synced from gtwvg.c), when pressing the mouse button for mark&select. * contrib/hbodbc/odbc.c ! Fixed some compile errors for __DMC__. ; TOFIX: Some more remain. ../../odbc.c(517) : Error: undefined identifier 'SQL_IS_INTEGER' ../../odbc.c(525) : Error: undefined identifier 'SQLSetStmtAttr' ../../odbc.c(536) : Error: undefined identifier 'SQLGetConnectAttr' ../../odbc.c(549) : Error: undefined identifier 'SQLGetStmtAttr' * contrib/gtwvg/gtwvg.c * contrib/gtwvg/gtwvg.h ! Synced (to some extent) with gtwvt.c, so that it now also compiles with __DMC__. ! Fixed a some more compile errors for __DMC__. ; TOFIX: Some more remain. ../../wvgutils.c(356) : Error: undefined identifier 'TTM_SETMARGIN' ../../wvgutils.c(367) : Error: undefined identifier 'TTM_GETMAXTIPWIDTH' ../../wvgutils.c(371) : Error: undefined identifier 'TTM_SETMAXTIPWIDTH' ../../wvgutils.c(385) : Error: undefined identifier 'TTM_GETTIPBKCOLOR' ../../wvgutils.c(389) : Error: undefined identifier 'TTM_SETTIPBKCOLOR' ../../wvgutils.c(402) : Error: undefined identifier 'TTM_GETTIPTEXTCOLOR' ../../wvgutils.c(406) : Error: undefined identifier 'TTM_SETTIPTEXTCOLOR' ../../wvgutils.c(761) : Error: undefined identifier 'UINT_PTR' ../../wvgutils.c(1296) : Error: undefined identifier 'LONG_PTR' ../../wvgutils.c(1297) : Error: undefined identifier 'ul' * config/w32/dm.cf ! Fix missed from previous commit added. * Added -x C compiler switch. --- harbour/ChangeLog | 34 ++++++++++++ harbour/config/w32/dm.cf | 4 +- harbour/contrib/gtwvg/gtwvg.c | 89 ++++++++++++++++++++------------ harbour/contrib/gtwvg/gtwvg.h | 4 ++ harbour/contrib/gtwvg/wvgcore.c | 4 +- harbour/contrib/gtwvg/wvgutils.c | 34 ++++++------ harbour/contrib/hbodbc/odbc.c | 7 +++ harbour/source/rtl/gtwvt/gtwvt.c | 2 + 8 files changed, 123 insertions(+), 55 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 5f2e0f0ea0..c2106675f1 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,40 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-08-13 03:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * source/rtl/gtwvt/gtwvt.c + ! Fixed one possible minor bug (synced from gtwvg.c), + when pressing the mouse button for mark&select. + + * contrib/hbodbc/odbc.c + ! Fixed some compile errors for __DMC__. + ; TOFIX: Some more remain. + ../../odbc.c(517) : Error: undefined identifier 'SQL_IS_INTEGER' + ../../odbc.c(525) : Error: undefined identifier 'SQLSetStmtAttr' + ../../odbc.c(536) : Error: undefined identifier 'SQLGetConnectAttr' + ../../odbc.c(549) : Error: undefined identifier 'SQLGetStmtAttr' + + * contrib/gtwvg/gtwvg.c + * contrib/gtwvg/gtwvg.h + ! Synced (to some extent) with gtwvt.c, so that it now + also compiles with __DMC__. + ! Fixed a some more compile errors for __DMC__. + ; TOFIX: Some more remain. + ../../wvgutils.c(356) : Error: undefined identifier 'TTM_SETMARGIN' + ../../wvgutils.c(367) : Error: undefined identifier 'TTM_GETMAXTIPWIDTH' + ../../wvgutils.c(371) : Error: undefined identifier 'TTM_SETMAXTIPWIDTH' + ../../wvgutils.c(385) : Error: undefined identifier 'TTM_GETTIPBKCOLOR' + ../../wvgutils.c(389) : Error: undefined identifier 'TTM_SETTIPBKCOLOR' + ../../wvgutils.c(402) : Error: undefined identifier 'TTM_GETTIPTEXTCOLOR' + ../../wvgutils.c(406) : Error: undefined identifier 'TTM_SETTIPTEXTCOLOR' + ../../wvgutils.c(761) : Error: undefined identifier 'UINT_PTR' + ../../wvgutils.c(1296) : Error: undefined identifier 'LONG_PTR' + ../../wvgutils.c(1297) : Error: undefined identifier 'ul' + + * config/w32/dm.cf + ! Fix missed from previous commit added. + * Added -x C compiler switch. + 2008-08-13 03:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.c ! use HB_PTRDIFF for handle to number casting diff --git a/harbour/config/w32/dm.cf b/harbour/config/w32/dm.cf index ca7c15fbe2..79c4f3cb99 100644 --- a/harbour/config/w32/dm.cf +++ b/harbour/config/w32/dm.cf @@ -16,7 +16,7 @@ CC_IN = -c CC_OUT = -o CPPFLAGS = -I. -I$(HB_INC_COMPILE) -CFLAGS = -6 -cpp -mn -o+time +CFLAGS = -6 -cpp -mn -o+time -x # Suppressing "possible extraneous ';'" warnings. [vszakats] CFLAGS += -w7 @@ -53,7 +53,7 @@ ifneq ($(LNK_USR_LIB),) LINKLIBS += $(foreach lib, $(LNK_USR_LIB), $(lib)$(LIB_EXT)) endif -SYSLIBS = user32 winspool gdi32 comctl32 comdlg32 ole32 oleaut32 uuid wsock32 advapi32 +SYSLIBS = kernel32 user32 winspool gdi32 comctl32 comdlg32 ole32 oleaut32 uuid wsock32 advapi32 LINKLIBS += $(SYSLIBS) define link_exe_file diff --git a/harbour/contrib/gtwvg/gtwvg.c b/harbour/contrib/gtwvg/gtwvg.c index a74bca46c1..11906cf34a 100644 --- a/harbour/contrib/gtwvg/gtwvg.c +++ b/harbour/contrib/gtwvg/gtwvg.c @@ -420,7 +420,7 @@ static void hb_gt_wvt_UpdateCaret( PHB_GTWVT pWVT ) iCaretSize = - ( pWVT->PTEXTSIZE.y >> 1 ); break; case SC_NORMAL: - iCaretSize = 4; + iCaretSize = HB_MAX( ( pWVT->PTEXTSIZE.y >> 2 ) - 1, 1 ); break; default: iCaretSize = 0; @@ -479,7 +479,8 @@ static void hb_gt_wvt_ResetWindowSize( PHB_GTWVT pWVT ) * for the required number of rows and columns */ hdc = GetDC( pWVT->hWnd ); - hFont = hb_gt_wvt_GetFont( pWVT->fontFace, pWVT->fontHeight, pWVT->fontWidth, pWVT->fontWeight, pWVT->fontQuality, pWVT->CodePage ); + hFont = hb_gt_wvt_GetFont( pWVT->fontFace, pWVT->fontHeight, pWVT->fontWidth, + pWVT->fontWeight, pWVT->fontQuality, pWVT->CodePage ); if( pWVT->hFont ) DeleteObject( pWVT->hFont ); @@ -819,13 +820,13 @@ static void hb_gt_wvt_SetMousePos( PHB_GTWVT pWVT, int iRow, int iCol ) static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, LPARAM lParam ) { + static RECT s_rectOld = { 0, 0, 0, 0 }; + static RECT s_rectNew = { 0, 0, 0, 0 }; + POINT xy, colrow; SHORT keyCode = 0; SHORT keyState; - static RECT s_rectOld = { 0, 0, 0, 0 }; - static RECT s_rcNew = { 0, 0, 0, 0 }; - HB_SYMBOL_UNUSED( wParam ); if( ! pWVT->bBeginMarked && ! pWVT->MouseMove && ( message == WM_MOUSEMOVE || message == WM_NCMOUSEMOVE ) ) @@ -853,10 +854,10 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L { pWVT->bBeingMarked = TRUE; - s_rcNew.left = xy.x; - s_rcNew.top = xy.y; - s_rcNew.right = xy.x; - s_rcNew.bottom = xy.y; + s_rectNew.left = xy.x; + s_rectNew.top = xy.y; + s_rectNew.right = xy.x; + s_rectNew.bottom = xy.y; s_rectOld.left = 0; s_rectOld.top = 0; @@ -895,10 +896,10 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L RECT rect = { 0, 0, 0, 0 }; RECT colrowRC = { 0, 0, 0, 0 }; - rect.left = HB_MIN( s_rcNew.left, s_rcNew.right ); - rect.top = HB_MIN( s_rcNew.top , s_rcNew.bottom ); - rect.right = HB_MAX( s_rcNew.left, s_rcNew.right ); - rect.bottom = HB_MAX( s_rcNew.top , s_rcNew.bottom ); + rect.left = HB_MIN( s_rectNew.left, s_rectNew.right ); + rect.top = HB_MIN( s_rectNew.top , s_rectNew.bottom ); + rect.right = HB_MAX( s_rectNew.left, s_rectNew.right ); + rect.bottom = HB_MAX( s_rectNew.top , s_rectNew.bottom ); colrowRC = hb_gt_wvt_GetColRowFromXYRect( pWVT, rect ); @@ -965,13 +966,13 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L RECT rect = { 0, 0, 0, 0 }; RECT colrowRC = { 0, 0, 0, 0 }; - s_rcNew.right = xy.x; - s_rcNew.bottom = xy.y; + s_rectNew.right = xy.x; + s_rectNew.bottom = xy.y; - rect.left = HB_MIN( s_rcNew.left, s_rcNew.right ); - rect.top = HB_MIN( s_rcNew.top , s_rcNew.bottom ); - rect.right = HB_MAX( s_rcNew.left, s_rcNew.right ); - rect.bottom = HB_MAX( s_rcNew.top , s_rcNew.bottom ); + rect.left = HB_MIN( s_rectNew.left, s_rectNew.right ); + rect.top = HB_MIN( s_rectNew.top , s_rectNew.bottom ); + rect.right = HB_MAX( s_rectNew.left, s_rectNew.right ); + rect.bottom = HB_MAX( s_rectNew.top , s_rectNew.bottom ); colrowRC = hb_gt_wvt_GetColRowFromXYRect( pWVT, rect ); rect = hb_gt_wvt_GetXYFromColRowRect( pWVT, colrowRC ); @@ -981,6 +982,7 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L rect.right != s_rectOld.right || rect.bottom != s_rectOld.bottom ) { +#if !defined(HB_WINCE) /* WinCE does not support InvertRgn */ /* Concept forwarded by Andy Wos - thanks. */ HRGN rgn1 = CreateRectRgn( s_rectOld.left, s_rectOld.top, s_rectOld.right, s_rectOld.bottom ); HRGN rgn2 = CreateRectRgn( rect.left, rect.top, rect.right, rect.bottom ); @@ -996,7 +998,7 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L DeleteObject( rgn1 ); DeleteObject( rgn2 ); DeleteObject( rgn3 ); - +#endif s_rectOld.left = rect.left; s_rectOld.top = rect.top; s_rectOld.right = rect.right; @@ -1675,7 +1677,13 @@ static LRESULT CALLBACK hb_gt_wvt_WndProc( HWND hWnd, UINT message, WPARAM wPara { pWVT->bMaximized = FALSE; /* Enable "maximize" button */ + +#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_WINCE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT) + SetWindowLong( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_THICKFRAME ); +#else SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_THICKFRAME ); +#endif + SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_DRAWFRAME | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE ); ShowWindow( pWVT->hWnd, SW_HIDE ); @@ -1706,7 +1714,11 @@ static LRESULT CALLBACK hb_gt_wvt_WndProc( HWND hWnd, UINT message, WPARAM wPara hb_wvt_gtSaveGuiState( pWVT ); /* Disable "maximize" button */ +#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_WINCE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT) + SetWindowLong( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME ); +#else SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_THICKFRAME ); +#endif SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE ); ShowWindow( pWVT->hWnd, SW_HIDE ); @@ -1880,7 +1892,7 @@ static void hb_gt_wvt_Init( PHB_GT pGT, FHANDLE hFilenoStdin, FHANDLE hFilenoStd if( ! hb_winmainArgGet( &s_hInstance, &s_hPrevInstance, &s_iCmdShow ) ) { - hb_errInternal( 10001, "It's not a window GUI program.", NULL, NULL ); + hb_errInternal( 10001, "It's not a GUI program", NULL, NULL ); } pWVT = hb_gt_wvt_New( pGT ); @@ -2141,17 +2153,17 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) case HB_GTI_INPUTFD: pInfo->pResult = hb_itemPutNInt( pInfo->pResult, - ( UINT_PTR ) GetStdHandle( STD_INPUT_HANDLE ) ); + ( HB_PTRDIFF ) GetStdHandle( STD_INPUT_HANDLE ) ); break; case HB_GTI_OUTPUTFD: pInfo->pResult = hb_itemPutNInt( pInfo->pResult, - ( UINT_PTR ) GetStdHandle( STD_OUTPUT_HANDLE ) ); + ( HB_PTRDIFF ) GetStdHandle( STD_OUTPUT_HANDLE ) ); break; case HB_GTI_ERRORFD: pInfo->pResult = hb_itemPutNInt( pInfo->pResult, - ( UINT_PTR ) GetStdHandle( STD_ERROR_HANDLE ) ); + ( HB_PTRDIFF ) GetStdHandle( STD_ERROR_HANDLE ) ); break; case HB_GTI_SETFONT: @@ -2409,7 +2421,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) SendMessage( pWVT->hWnd, WM_SETICON, ICON_BIG , ( LPARAM ) hIcon ); } } - pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( UINT_PTR ) hIcon ); + pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( HB_PTRDIFF ) hIcon ); break; } @@ -2425,7 +2437,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) else if( hb_itemType( pInfo->pNewVal ) & HB_IT_NUMERIC ) { hIcon = LoadIcon( ( HINSTANCE ) s_hInstance, - MAKEINTRESOURCE( ( UINT_PTR ) + MAKEINTRESOURCE( ( HB_LONG ) hb_itemGetNInt( pInfo->pNewVal ) ) ); } if( hIcon ) @@ -2433,7 +2445,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) SendMessage( pWVT->hWnd, WM_SETICON, ICON_SMALL, ( LPARAM ) hIcon ); SendMessage( pWVT->hWnd, WM_SETICON, ICON_BIG , ( LPARAM ) hIcon ); } - pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( UINT_PTR ) hIcon ); + pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( HB_PTRDIFF ) hIcon ); break; } case HB_GTI_VIEWMAXWIDTH: @@ -2492,10 +2504,10 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) pInfo->pResult = hb_itemNew( NULL ); } hb_arrayNew( pInfo->pResult, 2 ); - hb_itemPutNI( hb_arrayGetItemPtr( pInfo->pResult,2 ), pWVT->PTEXTSIZE.y * pWVT->ROWS ); - hb_itemPutNI( hb_arrayGetItemPtr( pInfo->pResult,1 ), pWVT->PTEXTSIZE.x * pWVT->COLS ); - iY = hb_itemGetNI( hb_arrayGetItemPtr( pInfo->pNewVal,2 ) ); - iX = hb_itemGetNI( hb_arrayGetItemPtr( pInfo->pNewVal,1 ) ); + hb_arraySetNI( pInfo->pResult, 2, pWVT->PTEXTSIZE.y * pWVT->ROWS ); + hb_arraySetNI( pInfo->pResult, 1, pWVT->PTEXTSIZE.x * pWVT->COLS ); + iY = hb_arrayGetNI( pInfo->pNewVal,2 ); + iX = hb_arrayGetNI( pInfo->pNewVal,1 ); if( iY > 0 ) { @@ -2514,7 +2526,11 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) BOOL bNewValue = hb_itemGetL( pInfo->pNewVal ); if( bNewValue != pWVT->bResizable ) { +#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_WINCE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT) + LONG style; +#else LONG_PTR style; +#endif pWVT->bResizable = bNewValue; @@ -2523,7 +2539,12 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) else style = WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_BORDER; +#if (defined(_MSC_VER) && (_MSC_VER <= 1200 || defined(HB_WINCE)) || defined(__DMC__)) && !defined(HB_ARCH_64BIT) + SetWindowLong( pWVT->hWnd, GWL_STYLE, style ); +#else SetWindowLongPtr( pWVT->hWnd, GWL_STYLE, style ); +#endif + SetWindowPos( pWVT->hWnd, NULL, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_DEFERERASE ); ShowWindow( pWVT->hWnd, SW_HIDE ); @@ -2607,7 +2628,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) } hb_arrayNew( pInfo->pResult, 16 ); for( i = 1; i <= 16; i++ ) - hb_itemPutNL( hb_arrayGetItemPtr( pInfo->pResult, i ), pWVT->COLORS[ i - 1 ] ); + hb_arraySetNL( pInfo->pResult, i, pWVT->COLORS[ i - 1 ] ); if( hb_itemType( pInfo->pNewVal ) & HB_IT_ARRAY ) { @@ -2626,7 +2647,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) switch( iMessage ) { case HB_GTS_WINDOWHANDLE: - pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( LONG_PTR ) pWVT->hWnd ); + pInfo->pResult = hb_itemPutNInt( pInfo->pResult, ( HB_PTRDIFF ) pWVT->hWnd ); break; case HB_GTS_CENTERWINDOW: @@ -2714,7 +2735,7 @@ static BOOL hb_gt_wvt_Info( PHB_GT pGT, int iType, PHB_GT_INFO pInfo ) else if( iIconType == 2 ) { hIcon = LoadIcon( ( HINSTANCE ) s_hInstance, - MAKEINTRESOURCE( ( UINT_PTR ) + MAKEINTRESOURCE( ( HB_LONG ) hb_arrayGetNInt( pInfo->pNewVal2, 3 ) ) ); } tnid.cbSize = sizeof( NOTIFYICONDATA ) ; diff --git a/harbour/contrib/gtwvg/gtwvg.h b/harbour/contrib/gtwvg/gtwvg.h index 4a7b7e5ae2..d177ee7c2e 100644 --- a/harbour/contrib/gtwvg/gtwvg.h +++ b/harbour/contrib/gtwvg/gtwvg.h @@ -177,6 +177,10 @@ WINCOMMCTRLAPI BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX); #endif #endif + typedef struct _GRADIENT_RECT { + ULONG UpperLeft; + ULONG LowerRight; + } GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; #endif #if defined( __cplusplus ) && ( defined( __BORLANDC__ ) || defined( _MSC_VER ) ) diff --git a/harbour/contrib/gtwvg/wvgcore.c b/harbour/contrib/gtwvg/wvgcore.c index 34cc19d16e..b2b60692b1 100644 --- a/harbour/contrib/gtwvg/wvgcore.c +++ b/harbour/contrib/gtwvg/wvgcore.c @@ -2846,7 +2846,7 @@ HB_FUNC( WVT_CREATEFONT ) //strcpy( logfont.lfFaceName, ( ISNIL( 1 ) ? _s->fontFace : hb_parcx( 1 ) ) ); HB_TCHAR_CPTO( logfont.lfFaceName, ( ISNIL( 1 ) ? _s->fontFace : hb_parcx( 1 ) ), sizeof( logfont.lfFaceName )-1 ); - hb_retnint( ( LONG_PTR ) CreateFontIndirect( &logfont ) ); + hb_retnint( ( HB_PTRDIFF ) CreateFontIndirect( &logfont ) ); } //-------------------------------------------------------------------// @@ -3004,7 +3004,7 @@ HB_FUNC( WVT_SAVESCREEN ) hb_arraySetNI( info, 1, iWidth ); hb_arraySetNI( info, 2, iHeight ); - hb_arraySetNInt( info, 3, ( LONG_PTR ) hBmp ); + hb_arraySetNInt( info, 3, ( HB_PTRDIFF ) hBmp ); hb_itemReturnRelease( info ); } diff --git a/harbour/contrib/gtwvg/wvgutils.c b/harbour/contrib/gtwvg/wvgutils.c index dc187e18ac..68f06baff8 100644 --- a/harbour/contrib/gtwvg/wvgutils.c +++ b/harbour/contrib/gtwvg/wvgutils.c @@ -600,7 +600,7 @@ HB_FUNC( WVT_SETPOINTER ) break; } -#if !defined(HB_ARCH_64BIT) && ( defined( __WATCOMC__ ) || \ +#if !defined(HB_ARCH_64BIT) && ( defined( __WATCOMC__ ) || defined(__DMC__) || \ ( defined(_MSC_VER) && ( _MSC_VER <= 1200 || defined(HB_WINCE) ) ) ) SetClassLong( _s->hWnd, GCLP_HCURSOR, ( DWORD ) hCursor ); #else @@ -705,7 +705,7 @@ HB_FUNC( WVT_SETPOPUPMENU ) _s->hPopup = ( HMENU ) hb_parnl( 1 ); if ( hPopup ) { - hb_retnint( ( LONG_PTR ) hPopup ); + hb_retnint( ( HB_PTRDIFF ) hPopup ); } } @@ -713,14 +713,14 @@ HB_FUNC( WVT_SETPOPUPMENU ) HB_FUNC( WVT_CREATEMENU ) { - hb_retnint( ( LONG_PTR ) CreateMenu() ); + hb_retnint( ( HB_PTRDIFF ) CreateMenu() ); } //-------------------------------------------------------------------// HB_FUNC( WVT_CREATEPOPUPMENU ) { - hb_retnint( ( LONG_PTR ) CreatePopupMenu() ); + hb_retnint( ( HB_PTRDIFF ) CreatePopupMenu() ); } //-------------------------------------------------------------------// @@ -926,7 +926,7 @@ HB_FUNC( WVT_GETMENU ) { PHB_GTWVT _s = hb_wvt_gtGetWVT(); - hb_retnint( ( LONG_PTR ) GetMenu( _s->hWnd ) ); + hb_retnint( ( HB_PTRDIFF ) GetMenu( _s->hWnd ) ); } //-------------------------------------------------------------------// @@ -1068,7 +1068,7 @@ HB_FUNC( WVT_CREATEDIALOGDYNAMIC ) } } - hb_retnint( ( LONG_PTR ) hDlg ); + hb_retnint( ( HB_PTRDIFF ) hDlg ); } //-------------------------------------------------------------------// @@ -1389,7 +1389,7 @@ HB_FUNC( WVT_DLGSETICON ) if ( hIcon ) { - hb_retnint( ( LONG_PTR ) hIcon ); + hb_retnint( ( HB_PTRDIFF ) hIcon ); } } @@ -1502,7 +1502,7 @@ HB_FUNC( WIN_SETBKMODE ) HB_FUNC( WIN_GETSTOCKOBJECT ) { - hb_retnint( ( LONG_PTR ) GetStockObject( hb_parnl( 1 ) ) ); + hb_retnint( ( HB_PTRDIFF ) GetStockObject( hb_parnl( 1 ) ) ); } //-------------------------------------------------------------------// @@ -1516,7 +1516,7 @@ HB_FUNC( WIN_DELETEOBJECT ) HB_FUNC( WIN_SELECTOBJECT ) { - hb_retnint( ( LONG_PTR ) SelectObject( ( HDC ) hb_parnl( 1 ), ( HGDIOBJ ) hb_parnl( 2 ) ) ); + hb_retnint( ( HB_PTRDIFF ) SelectObject( ( HDC ) hb_parnl( 1 ), ( HGDIOBJ ) hb_parnl( 2 ) ) ); } //-------------------------------------------------------------------// @@ -1615,7 +1615,7 @@ HB_FUNC( WIN_CHECKRADIOBUTTON ) HB_FUNC( WIN_GETDLGITEM ) { - hb_retnint( ( LONG_PTR ) GetDlgItem( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ) ) ); + hb_retnint( ( HB_PTRDIFF ) GetDlgItem( ( HWND ) hb_parnl( 1 ), hb_parni( 2 ) ) ); } //-------------------------------------------------------------------// @@ -1657,7 +1657,7 @@ HB_FUNC( WIN_LOADICON ) HB_TCHAR_FREE( lpBuffer ); } - hb_retnint( ( LONG_PTR ) hIcon ); + hb_retnint( ( HB_PTRDIFF ) hIcon ); } //-------------------------------------------------------------------// @@ -1689,7 +1689,7 @@ HB_FUNC( WIN_LOADIMAGE ) } HB_TCHAR_FREE( lpBuffer ); - hb_retnint( ( LONG_PTR ) hImage ); + hb_retnint( ( HB_PTRDIFF ) hImage ); } //-------------------------------------------------------------------// @@ -1723,7 +1723,7 @@ HB_FUNC( WIN_DRAWIMAGE ) HB_FUNC( WIN_GETDC ) { - hb_retnint( ( LONG_PTR ) GetDC( ( HWND ) hb_parnl( 1 ) ) ); + hb_retnint( ( HB_PTRDIFF ) GetDC( ( HWND ) hb_parnl( 1 ) ) ); } //-------------------------------------------------------------------// @@ -1750,7 +1750,7 @@ HB_FUNC( WIN_CREATEBRUSH ) lb.lbColor = ISNIL( 2 ) ? RGB( 0, 0, 0 ) : ( COLORREF ) hb_parnl( 2 ) ; lb.lbHatch = ISNIL( 3 ) ? 0 : hb_parni( 3 ); - hb_retnint( ( LONG_PTR ) CreateBrushIndirect( &lb ) ); + hb_retnint( ( HB_PTRDIFF ) CreateBrushIndirect( &lb ) ); } //-------------------------------------------------------------------// @@ -1799,7 +1799,7 @@ HB_FUNC( WIN_MOVEWINDOW ) HB_FUNC( WIN_SETPARENT ) { - hb_retnint( ( LONG_PTR ) SetParent( (HWND) hb_parnl( 1 ), (HWND) hb_parnl( 2 ) ) ); + hb_retnint( ( HB_PTRDIFF ) SetParent( (HWND) hb_parnl( 1 ), (HWND) hb_parnl( 2 ) ) ); } //-------------------------------------------------------------------// @@ -1828,7 +1828,7 @@ HB_FUNC( WVT_GETFONTHANDLE ) if ( iSlot >= 0 && iSlot < WVT_PICTURES_MAX ) hFont = _s->hUserFonts[ iSlot ]; - hb_retnint( ( LONG_PTR ) hFont ); + hb_retnint( ( HB_PTRDIFF ) hFont ); } //-------------------------------------------------------------------// @@ -2166,7 +2166,7 @@ HB_FUNC( WIN_FINDWINDOW ) if ( hwnd ) { - hb_retnint( ( LONG_PTR ) hwnd ); + hb_retnint( ( HB_PTRDIFF ) hwnd ); } else { diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index a82d633171..5068edd1b7 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -103,6 +103,13 @@ #define SQLLEN SQLINTEGER #endif #endif +#ifndef SQLULEN + #ifdef _WIN64 + typedef UINT64 SQLULEN; + #else + #define SQLULEN SQLUINTEGER + #endif +#endif #if defined(__DMC__) #define SQL_NO_DATA SQL_NO_DATA_FOUND diff --git a/harbour/source/rtl/gtwvt/gtwvt.c b/harbour/source/rtl/gtwvt/gtwvt.c index 76df56d6c8..27bd750d5d 100644 --- a/harbour/source/rtl/gtwvt/gtwvt.c +++ b/harbour/source/rtl/gtwvt/gtwvt.c @@ -789,6 +789,8 @@ static void hb_gt_wvt_MouseEvent( PHB_GTWVT pWVT, UINT message, WPARAM wParam, L s_rectOld.top = 0; s_rectOld.right = 0; s_rectOld.bottom = 0; + + return; } else {