diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 40385333ab..7a821989d1 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,56 @@ 2009-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2009-03-27 01:52 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + * utils/hbmk2/hbmk2.prg + * contrib/hbole/tests/hbole.hbp + * contrib/gtwvg/tests/gtwvg.hbp + * contrib/hbwin/tests/hbwin.hbp + - utils/hbmk2/examples/winapi.hbp + + Added all important Windows system libs to all + win compilers in hbmk2. + - Removed above libs from .hbp files. + + * contrib/hbodbc/todbc.prg + * contrib/hbodbc/browodbc.prg + * contrib/hbodbc/odbc.c + * Further cleanups. + SETNUMLEN() -> SQLNUMSETLEN(). This should probably be a core + function by the name HB_NUMSETLEN(). + + * contrib/hbole/tests/testole.prg + * contrib/hbole/tests/sample.odt + + Updated to latest hbole code. + ; TOFIX: hbole code doesn't compile with MSVC in default C++ + even if #define CINTERFACE 1 is enabled. + ; TOFIX: OpenOffice example fails at some point. It probably + needs array support. + + * contrib/hbole/olecore.c + * Minor formatting. + + * contrib/hbqt/hbqt_qabstractitemview.cpp + ! Fixed backslash to forward slash. + + * contrib/hbct/tests/ctwtest.prg + * contrib/hbnf/dispmsg.prg + * contrib/hbnf/pegs.prg + * contrib/hbnf/tbwhile.prg + * contrib/hbnf/calendar.prg + * contrib/gtwvg/tests/demowvg.prg + * contrib/examples/terminal/trm_server.prg + * contrib/examples/terminal/trm_client.prg + ! Using manifest constants. + + * contrib/hbmysql/mysql.c + * contrib/hbodbc/odbc.c + * Minor cleanup. + + * contrib/hbodbc/tests/odbcdemo.prg + * contrib/hbodbc/tests/odbccall.prg + * contrib/hbodbc/tests/testodbc.prg + * Minor. + 2009-03-26 22:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbodbc/tests/odbcdemo.prg * contrib/hbodbc/tests/testodbc.prg diff --git a/harbour/contrib/examples/terminal/trm_client.prg b/harbour/contrib/examples/terminal/trm_client.prg index b89ff84b07..a9782de944 100644 --- a/harbour/contrib/examples/terminal/trm_client.prg +++ b/harbour/contrib/examples/terminal/trm_client.prg @@ -63,6 +63,7 @@ #include 'hbgtinfo.ch' #include 'fileio.ch' +#include "setcurs.ch" //----------------------------------------------------------------------// @@ -134,7 +135,7 @@ Function Main( cAddress, cPort, cAppln, cParams, cDirectory ) TrmInitFont() - SetCursor( 0 ) + SetCursor( SC_NONE ) SetColor( 'W/N' ) SetBlink( .T. ) @@ -721,7 +722,7 @@ Static Function DispClock() if SetClock() if !empty( aInfo := SetClockInfo() ) - nCrs := SetCursor( 0 ) + nCrs := SetCursor( SC_NONE ) nRow := row() nCol := col() DispOutAt( aInfo[ 1 ], aInfo[ 2 ], time(), aInfo[ 3 ] ) diff --git a/harbour/contrib/examples/terminal/trm_server.prg b/harbour/contrib/examples/terminal/trm_server.prg index e91152acdb..55a59b16a9 100644 --- a/harbour/contrib/examples/terminal/trm_server.prg +++ b/harbour/contrib/examples/terminal/trm_server.prg @@ -62,6 +62,7 @@ //----------------------------------------------------------------------// #include 'inkey.ch' +#include "setcurs.ch" //----------------------------------------------------------------------// @@ -95,8 +96,7 @@ Function Main( cPort ) MutexCount := HB_MutexCreate() SetColor( 'W+/N' ) - SetCursor( 0 ) - SetCursor( .f. ) + SetCursor( SC_NONE ) BuildScreen() diff --git a/harbour/contrib/gtwvg/tests/demowvg.prg b/harbour/contrib/gtwvg/tests/demowvg.prg index b99641e430..714b9d0d26 100644 --- a/harbour/contrib/gtwvg/tests/demowvg.prg +++ b/harbour/contrib/gtwvg/tests/demowvg.prg @@ -31,6 +31,7 @@ #include "hbgtinfo.ch" #include "hbgtwvg.ch" #include "wvgparts.ch" +#include "setcurs.ch" REQUEST DbfCdx REQUEST DbfNtx @@ -772,7 +773,7 @@ FUNCTION WvtMyBrowse_X( oCrt ) LOCAL nLeft := 3 LOCAL nBottom := maxrow() - 2 LOCAL nRight := maxcol() - 3 - LOCAL nCursor := setCursor( 0 ) + LOCAL nCursor := setCursor( SC_NONE ) LOCAL nRow := row() LOCAL nCol := col() LOCAL cColor := SetColor( "N/W*,N/GR*,,,N/W*" ) @@ -3939,7 +3940,7 @@ PROCEDURE GCUIConsole( oCrt ) // hTxt := Wvg_TextBox( 3,57,16,75, {10,10,-10,-10}, 'This is first TextBox Line!', 2, 2 ) // - Wvg_Image( 15,36,16,42, {-3,-3,3,3}, GOBJ_IMAGESOURCE_FILE, 'Vouch1.bmp' ) + Wvg_Image( 15,36,16,42, {-3,-3,3,3}, GOBJ_IMAGESOURCE_FILE, 'vouch1.bmp' ) Wvg_BoxRaised( 15,36,16,42,{-2,-2,2,2} ) // Wvg_ShadedRect( 1,54,18,79, { -5,-5,5,5 }, 0, {65000,21000,7000,56000}, {255,32255,16000,32500} ) diff --git a/harbour/contrib/gtwvg/tests/gtwvg.hbp b/harbour/contrib/gtwvg/tests/gtwvg.hbp index 37ff4bd2f3..5461ad3856 100644 --- a/harbour/contrib/gtwvg/tests/gtwvg.hbp +++ b/harbour/contrib/gtwvg/tests/gtwvg.hbp @@ -4,6 +4,5 @@ {win}gt=gtwvg {win}libs=hbwin -{win}libs=winspool comctl32 comdlg32 shell32 ole32 oleaut32 gui=yes mt=yes diff --git a/harbour/contrib/hbct/tests/ctwtest.prg b/harbour/contrib/hbct/tests/ctwtest.prg index c65421623f..55c58fef6d 100644 --- a/harbour/contrib/hbct/tests/ctwtest.prg +++ b/harbour/contrib/hbct/tests/ctwtest.prg @@ -12,6 +12,7 @@ #define ntrim(n) ltrim(str(n)) #include "inkey.ch" +#include "setcurs.ch" proc main() local aWin:=array(9), y, x, i, k, lFlag:=.f., lBoard:=.t. @@ -90,7 +91,7 @@ while .t. lFlag:=!lFlag setcursor(iif(lFlag,3,1)) elseif k==K_DEL - setcursor(0) + setcursor(SC_NONE) elseif k==K_LEFT wmove(wrow(),wcol()-1) elseif k==K_RIGHT diff --git a/harbour/contrib/hbmysql/mysql.c b/harbour/contrib/hbmysql/mysql.c index b6286afb09..502130ba50 100644 --- a/harbour/contrib/hbmysql/mysql.c +++ b/harbour/contrib/hbmysql/mysql.c @@ -353,32 +353,32 @@ HB_FUNC( MYSQL_ESCAPE_STRING_FROM_FILE ) #if !defined(HB_MYSQL_LEGACY_LEVEL_OFF) -HB_FUNC_EXTERN( MYSQL_GET_SERVER_VERSION ); HB_FUNC( SQLVERSION ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_VERSION ); } -HB_FUNC_EXTERN( MYSQL_REAL_CONNECT ); HB_FUNC( SQLCONNECT ) { HB_FUNC_EXEC( MYSQL_REAL_CONNECT ); } -HB_FUNC_EXTERN( MYSQL_CLOSE ); HB_FUNC( SQLCLOSE ) { HB_FUNC_EXEC( MYSQL_CLOSE ); } -HB_FUNC_EXTERN( MYSQL_COMMIT ); HB_FUNC( SQLCOMMIT ) { HB_FUNC_EXEC( MYSQL_COMMIT ); } -HB_FUNC_EXTERN( MYSQL_ROLLBACK ); HB_FUNC( SQLROLLBACK ) { HB_FUNC_EXEC( MYSQL_ROLLBACK ); } -HB_FUNC_EXTERN( MYSQL_SELECT_DB ); HB_FUNC( SQLSELECTD ) { HB_FUNC_EXEC( MYSQL_SELECT_DB ); } -HB_FUNC_EXTERN( MYSQL_QUERY ); HB_FUNC( SQLQUERY ) { HB_FUNC_EXEC( MYSQL_QUERY ); } -HB_FUNC_EXTERN( MYSQL_STORE_RESULT ); HB_FUNC( SQLSTORER ) { HB_FUNC_EXEC( MYSQL_STORE_RESULT ); } -HB_FUNC_EXTERN( MYSQL_USE_RESULT ); HB_FUNC( SQLUSERES ) { HB_FUNC_EXEC( MYSQL_USE_RESULT ); } -HB_FUNC_EXTERN( MYSQL_FREE_RESULT ); HB_FUNC( SQLFREER ) { HB_FUNC_EXEC( MYSQL_FREE_RESULT ); } -HB_FUNC_EXTERN( MYSQL_FETCH_ROW ); HB_FUNC( SQLFETCHR ) { HB_FUNC_EXEC( MYSQL_FETCH_ROW ); } -HB_FUNC_EXTERN( MYSQL_DATA_SEEK ); HB_FUNC( SQLDATAS ) { HB_FUNC_EXEC( MYSQL_DATA_SEEK ); } -HB_FUNC_EXTERN( MYSQL_NUM_ROWS ); HB_FUNC( SQLNROWS ) { HB_FUNC_EXEC( MYSQL_NUM_ROWS ); } -HB_FUNC_EXTERN( MYSQL_FETCH_FIELD ); HB_FUNC( SQLFETCHF ) { HB_FUNC_EXEC( MYSQL_FETCH_FIELD ); } -HB_FUNC_EXTERN( MYSQL_FIELD_SEEK ); HB_FUNC( SQLFSEEK ) { HB_FUNC_EXEC( MYSQL_FIELD_SEEK ); } -HB_FUNC_EXTERN( MYSQL_NUM_FIELDS ); HB_FUNC( SQLNUMFI ) { HB_FUNC_EXEC( MYSQL_NUM_FIELDS ); } -HB_FUNC_EXTERN( MYSQL_FIELD_COUNT ); HB_FUNC( SQLFICOU ) { HB_FUNC_EXEC( MYSQL_FIELD_COUNT ); } -HB_FUNC_EXTERN( MYSQL_LIST_FIELDS ); HB_FUNC( SQLLISTF ) { HB_FUNC_EXEC( MYSQL_LIST_FIELDS ); } -HB_FUNC_EXTERN( MYSQL_ERROR ); HB_FUNC( SQLGETERR ) { HB_FUNC_EXEC( MYSQL_ERROR ); } -HB_FUNC_EXTERN( MYSQL_LIST_DBS ); HB_FUNC( SQLLISTDB ) { HB_FUNC_EXEC( MYSQL_LIST_DBS ); } -HB_FUNC_EXTERN( MYSQL_LIST_TABLES ); HB_FUNC( SQLLISTTBL ) { HB_FUNC_EXEC( MYSQL_LIST_TABLES ); } -HB_FUNC_EXTERN( MYSQL_AFFECTED_ROWS ); HB_FUNC( SQLAFFROWS ) { HB_FUNC_EXEC( MYSQL_AFFECTED_ROWS ); } -HB_FUNC_EXTERN( MYSQL_GET_HOST_INFO ); HB_FUNC( SQLHOSTINFO ) { HB_FUNC_EXEC( MYSQL_GET_HOST_INFO ); } -HB_FUNC_EXTERN( MYSQL_GET_SERVER_INFO ); HB_FUNC( SQLSRVINFO ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_INFO ); } -HB_FUNC_EXTERN( MYSQL_ESCAPE_STRING ); HB_FUNC( DATATOSQL ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING ); } -HB_FUNC_EXTERN( MYSQL_ESCAPE_STRING_FROM_FILE ); HB_FUNC( FILETOSQLBINARY ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING_FROM_FILE ); } +HB_FUNC( SQLVERSION ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_VERSION ); } +HB_FUNC( SQLCONNECT ) { HB_FUNC_EXEC( MYSQL_REAL_CONNECT ); } +HB_FUNC( SQLCLOSE ) { HB_FUNC_EXEC( MYSQL_CLOSE ); } +HB_FUNC( SQLCOMMIT ) { HB_FUNC_EXEC( MYSQL_COMMIT ); } +HB_FUNC( SQLROLLBACK ) { HB_FUNC_EXEC( MYSQL_ROLLBACK ); } +HB_FUNC( SQLSELECTD ) { HB_FUNC_EXEC( MYSQL_SELECT_DB ); } +HB_FUNC( SQLQUERY ) { HB_FUNC_EXEC( MYSQL_QUERY ); } +HB_FUNC( SQLSTORER ) { HB_FUNC_EXEC( MYSQL_STORE_RESULT ); } +HB_FUNC( SQLUSERES ) { HB_FUNC_EXEC( MYSQL_USE_RESULT ); } +HB_FUNC( SQLFREER ) { HB_FUNC_EXEC( MYSQL_FREE_RESULT ); } +HB_FUNC( SQLFETCHR ) { HB_FUNC_EXEC( MYSQL_FETCH_ROW ); } +HB_FUNC( SQLDATAS ) { HB_FUNC_EXEC( MYSQL_DATA_SEEK ); } +HB_FUNC( SQLNROWS ) { HB_FUNC_EXEC( MYSQL_NUM_ROWS ); } +HB_FUNC( SQLFETCHF ) { HB_FUNC_EXEC( MYSQL_FETCH_FIELD ); } +HB_FUNC( SQLFSEEK ) { HB_FUNC_EXEC( MYSQL_FIELD_SEEK ); } +HB_FUNC( SQLNUMFI ) { HB_FUNC_EXEC( MYSQL_NUM_FIELDS ); } +HB_FUNC( SQLFICOU ) { HB_FUNC_EXEC( MYSQL_FIELD_COUNT ); } +HB_FUNC( SQLLISTF ) { HB_FUNC_EXEC( MYSQL_LIST_FIELDS ); } +HB_FUNC( SQLGETERR ) { HB_FUNC_EXEC( MYSQL_ERROR ); } +HB_FUNC( SQLLISTDB ) { HB_FUNC_EXEC( MYSQL_LIST_DBS ); } +HB_FUNC( SQLLISTTBL ) { HB_FUNC_EXEC( MYSQL_LIST_TABLES ); } +HB_FUNC( SQLAFFROWS ) { HB_FUNC_EXEC( MYSQL_AFFECTED_ROWS ); } +HB_FUNC( SQLHOSTINFO ) { HB_FUNC_EXEC( MYSQL_GET_HOST_INFO ); } +HB_FUNC( SQLSRVINFO ) { HB_FUNC_EXEC( MYSQL_GET_SERVER_INFO ); } +HB_FUNC( DATATOSQL ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING ); } +HB_FUNC( FILETOSQLBINARY ) { HB_FUNC_EXEC( MYSQL_ESCAPE_STRING_FROM_FILE ); } /* NOTE: Use hb_bitAnd() instead. Notice that latter will RTE on wrong arguments. */ HB_FUNC( SQLAND ) diff --git a/harbour/contrib/hbnf/calendar.prg b/harbour/contrib/hbnf/calendar.prg index 2af96d057b..84760e6b2b 100644 --- a/harbour/contrib/hbnf/calendar.prg +++ b/harbour/contrib/hbnf/calendar.prg @@ -96,6 +96,8 @@ * $END$ */ +#include "setcurs.ch" + #ifdef FT_TEST FUNCTION MAIN() local aRet[8], i @@ -136,8 +138,8 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp) nCol := IIF ( nCol <1 .OR. nCol >63, 63, nCol ) //check col bounds cSavColor := SETCOLOR(cColor) //save current and set display color - cSaveScreen := SAVESCREEN ( nRow-1, nCol-1, nRow+3, nCol+17 ) //save screen - cSaveCursor := SETCURSOR (0) // save current and turn off cursor + cSaveScreen := SAVESCREEN( nRow-1, nCol-1, nRow+3, nCol+17 ) //save screen + cSaveCursor := SETCURSOR( SC_NONE ) // save current and turn off cursor IF lShadow @nRow-1,nCol-1 to nRow+2, nCol+15 @@ -231,4 +233,3 @@ FUNCTION FT_CALENDAR (nRow, nCol, cColor, lShadow, lShowHelp) RETURN ( VAL(SUBSTR(cString,nOffset,nChar)) ) * end of calendar.prg - diff --git a/harbour/contrib/hbnf/dispmsg.prg b/harbour/contrib/hbnf/dispmsg.prg index 951a9a6998..5745a51bc8 100644 --- a/harbour/contrib/hbnf/dispmsg.prg +++ b/harbour/contrib/hbnf/dispmsg.prg @@ -122,6 +122,7 @@ #include "inkey.ch" +#include "setcurs.ch" // beginning of demo program #ifdef FT_TEST @@ -180,7 +181,7 @@ PROCEDURE Main( cCmdLine ) { cWindN,,,,, cWindH } }, "BIOQ" + CHR(27) ) SETCOLOR( "W/N" ) - SETCURSOR( 1 ) + SETCURSOR( SC_NORMAL ) SETBLINK( .T.) RESTSCREEN(,,,, cDosScrn ) SETPOS(nDosRow, nDosCol) @@ -265,7 +266,7 @@ FUNCTION FT_DispMsg( aInfo, cKey, nBoxTop, nBoxLeft, cnBoxString, lShadow ) cOldScreen := SAVESCREEN( nBoxTop, nBoxLeft, nBoxBottom+1, nBoxRight+2 ) - cOldCursor := SETCURSOR( 0 ) + cOldCursor := SETCURSOR( SC_NONE ) // draw box cOldColor := SETCOLOR( aInfo[ 2, LEN( aInfo[2] ) ] ) @@ -333,4 +334,3 @@ FUNCTION FT_DispMsg( aInfo, cKey, nBoxTop, nBoxLeft, cnBoxString, lShadow ) SETCOLOR( cOldColor ) SETCURSOR( cOldCursor ) RETURN xRtnVal - diff --git a/harbour/contrib/hbnf/pegs.prg b/harbour/contrib/hbnf/pegs.prg index f5c0423ba3..18a080eff9 100644 --- a/harbour/contrib/hbnf/pegs.prg +++ b/harbour/contrib/hbnf/pegs.prg @@ -53,6 +53,7 @@ #include "inkey.ch" #include "common.ch" +#include "setcurs.ch" #translate SINGLEBOX(, , , ) => ; @ , , , BOX "ÚÄ¿³ÙÄÀ³ " @@ -194,11 +195,11 @@ return NIL static function err_msg(msg) local buffer := savescreen(23, 33, 23, 47) -setcursor(0) +setcursor(SC_NONE) setcolor('+w/r') @ 23, 33 say msg inkey(2) -setcursor(1) +setcursor(SC_NORMAL) restscreen(23, 33, 23, 47, buffer) return nil diff --git a/harbour/contrib/hbnf/tbwhile.prg b/harbour/contrib/hbnf/tbwhile.prg index 9a01760b06..a7b75a5218 100644 --- a/harbour/contrib/hbnf/tbwhile.prg +++ b/harbour/contrib/hbnf/tbwhile.prg @@ -63,6 +63,7 @@ := IIF( = NIL, , ) ; [; := IIF( = NIL, , ) ] #include "inkey.ch" +#include "setcurs.ch" #ifdef FT_TEST @@ -352,7 +353,7 @@ FUNCTION FT_BRWSWHL(aFields, bWhileCond, cKey, nFreeze, lSaveScrn, ; @ nTop, nLeft CLEAR TO nBottom, nRight SetColor(cColorSave) - nCursSave := SetCursor(0) + nCursSave := SetCursor(SC_NONE) lMore := .t. WHILE (lMore) diff --git a/harbour/contrib/hbodbc/browodbc.prg b/harbour/contrib/hbodbc/browodbc.prg index ef232e67ad..f61e22c957 100644 --- a/harbour/contrib/hbodbc/browodbc.prg +++ b/harbour/contrib/hbodbc/browodbc.prg @@ -60,6 +60,7 @@ #include "common.ch" #include "inkey.ch" +#include "setcurs.ch" FUNCTION BrowseODBC( nTop, nLeft, nBottom, nRight, oDataSource ) @@ -70,12 +71,11 @@ FUNCTION BrowseODBC( nTop, nLeft, nBottom, nRight, oDataSource ) LOCAL lExit := .F. LOCAL bAction LOCAL oColumn - //LOCAL cFName - //TODO: Check if datasource is open - //IF ! Used() - // RETURN .F. - //ENDIF + // TODO: Check if datasource is open +// IF ! Used() +// RETURN .F. +// ENDIF IF PCount() < 4 nTop := 1 @@ -84,7 +84,7 @@ FUNCTION BrowseODBC( nTop, nLeft, nBottom, nRight, oDataSource ) nRight := MaxCol() ENDIF - nOldCursor := SetCursor( 0 ) + nOldCursor := SetCursor( SC_NONE ) cOldScreen := SaveScreen( nTop, nLeft, nBottom, nRight ) @ nTop, nLeft TO nBottom, nRight diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index d3d4a02c0b..28589281c3 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -689,29 +689,30 @@ HB_FUNC( SQLSTOD ) hb_retds( NULL ); } -HB_FUNC( SETNUMLEN ) /* SETNUMLEN( nValue, nSize, nDecimals ) ==> nValue (nSize, nDec) */ +HB_FUNC( SQLNUMSETLEN ) /* SQLNUMSETLEN( nValue, nSize, nDecimals ) ==> nValue (nSize, nDec) */ { hb_retnlen( hb_parnd( 1 ), hb_parni( 2 ), hb_parni( 3 ) ); } #if !defined(HB_ODBC_LEGACY_LEVEL_OFF) -HB_FUNC_EXTERN( SQLALLOCENV ); HB_FUNC( SQLALLOCEN ) { HB_FUNC_EXEC( SQLALLOCENV ); } -HB_FUNC_EXTERN( SQLALLOCCONNECT ); HB_FUNC( SQLALLOCCO ) { HB_FUNC_EXEC( SQLALLOCCONNECT ); } -HB_FUNC_EXTERN( SQLDRIVERCONNECT ); HB_FUNC( SQLDRIVERC ) { HB_FUNC_EXEC( SQLDRIVERCONNECT ); } -HB_FUNC_EXTERN( SQLDISCONNECT ); HB_FUNC( SQLDISCONN ) { HB_FUNC_EXEC( SQLDISCONNECT ); } -HB_FUNC_EXTERN( SQLFREECONNECT ); HB_FUNC( SQLFREECON ) { HB_FUNC_EXEC( SQLFREECONNECT ); } -HB_FUNC_EXTERN( SQLALLOCSTMT ); HB_FUNC( SQLALLOCST ) { HB_FUNC_EXEC( SQLALLOCSTMT ); } -HB_FUNC_EXTERN( SQLFREESTMT ); HB_FUNC( SQLFREESTM ) { HB_FUNC_EXEC( SQLFREESTMT ); } -HB_FUNC_EXTERN( SQLEXECDIRECT ); HB_FUNC( SQLEXECDIR ) { HB_FUNC_EXEC( SQLEXECDIRECT ); } -HB_FUNC_EXTERN( SQLNUMRESULTCOLS ); HB_FUNC( SQLNUMRES ) { HB_FUNC_EXEC( SQLNUMRESULTCOLS ); } -HB_FUNC_EXTERN( SQLDESCRIBECOL ); HB_FUNC( SQLDESCRIB ) { HB_FUNC_EXEC( SQLDESCRIBECOL ); } -HB_FUNC_EXTERN( SQLEXTENDEDFETCH ); HB_FUNC( SQLEXTENDE ) { HB_FUNC_EXEC( SQLEXTENDEDFETCH ); } -HB_FUNC_EXTERN( SQLFETCHSCROLL ); HB_FUNC( SQLFETCHSC ) { HB_FUNC_EXEC( SQLFETCHSCROLL ); } -HB_FUNC_EXTERN( SQLROWCOUNT ); HB_FUNC( SQLROWCOUN ) { HB_FUNC_EXEC( SQLROWCOUNT ); } -HB_FUNC_EXTERN( SQLSETCONNECTATTR ); HB_FUNC( SQLSETCONNECTOPTION ) { HB_FUNC_EXEC( SQLSETCONNECTATTR ); } -HB_FUNC_EXTERN( SQLSETSTMTATTR ); HB_FUNC( SQLSETSTMTOPTION ) { HB_FUNC_EXEC( SQLSETSTMTATTR ); } -HB_FUNC_EXTERN( SQLGETCONNECTATTR ); HB_FUNC( SQLGETCONNECTOPTION ) { HB_FUNC_EXEC( SQLGETCONNECTATTR ); } -HB_FUNC_EXTERN( SQLGETSTMTATTR ); HB_FUNC( SQLGETSTMTOPTION ) { HB_FUNC_EXEC( SQLGETSTMTATTR ); } +HB_FUNC( SQLALLOCEN ) { HB_FUNC_EXEC( SQLALLOCENV ); } +HB_FUNC( SQLALLOCCO ) { HB_FUNC_EXEC( SQLALLOCCONNECT ); } +HB_FUNC( SQLDRIVERC ) { HB_FUNC_EXEC( SQLDRIVERCONNECT ); } +HB_FUNC( SQLDISCONN ) { HB_FUNC_EXEC( SQLDISCONNECT ); } +HB_FUNC( SQLFREECON ) { HB_FUNC_EXEC( SQLFREECONNECT ); } +HB_FUNC( SQLALLOCST ) { HB_FUNC_EXEC( SQLALLOCSTMT ); } +HB_FUNC( SQLFREESTM ) { HB_FUNC_EXEC( SQLFREESTMT ); } +HB_FUNC( SQLEXECDIR ) { HB_FUNC_EXEC( SQLEXECDIRECT ); } +HB_FUNC( SQLNUMRES ) { HB_FUNC_EXEC( SQLNUMRESULTCOLS ); } +HB_FUNC( SQLDESCRIB ) { HB_FUNC_EXEC( SQLDESCRIBECOL ); } +HB_FUNC( SQLEXTENDE ) { HB_FUNC_EXEC( SQLEXTENDEDFETCH ); } +HB_FUNC( SQLFETCHSC ) { HB_FUNC_EXEC( SQLFETCHSCROLL ); } +HB_FUNC( SQLROWCOUN ) { HB_FUNC_EXEC( SQLROWCOUNT ); } +HB_FUNC( SQLSETCONNECTOPTION ) { HB_FUNC_EXEC( SQLSETCONNECTATTR ); } +HB_FUNC( SQLSETSTMTOPTION ) { HB_FUNC_EXEC( SQLSETSTMTATTR ); } +HB_FUNC( SQLGETCONNECTOPTION ) { HB_FUNC_EXEC( SQLGETCONNECTATTR ); } +HB_FUNC( SQLGETSTMTOPTION ) { HB_FUNC_EXEC( SQLGETSTMTATTR ); } +HB_FUNC( SETNUMLEN ) { HB_FUNC_EXEC( SQLNUMSETLEN ); } #endif diff --git a/harbour/contrib/hbodbc/tests/odbccall.prg b/harbour/contrib/hbodbc/tests/odbccall.prg index 9a307658b1..13ef8bb829 100644 --- a/harbour/contrib/hbodbc/tests/odbccall.prg +++ b/harbour/contrib/hbodbc/tests/odbccall.prg @@ -8,12 +8,11 @@ PROCEDURE Main() LOCAL cConStr - LOCAL cDir := hb_DirBase() LOCAL dsFunctions LOCAL Self - cConStr := "DBQ=" + hb_FNameMerge( cDir, "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" + cConStr := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" dsFunctions := TODBC():New( cConStr ) diff --git a/harbour/contrib/hbodbc/tests/odbcdemo.prg b/harbour/contrib/hbodbc/tests/odbcdemo.prg index e4a656b9c9..44d25acd5e 100644 --- a/harbour/contrib/hbodbc/tests/odbcdemo.prg +++ b/harbour/contrib/hbodbc/tests/odbcdemo.prg @@ -8,11 +8,10 @@ PROCEDURE Main() LOCAL nOp LOCAL dsFunctions LOCAL cConStr - LOCAL cDir := hb_DirBase() LOCAL i - cConStr := "DBQ=" + hb_FNameMerge( cDir, "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" + cConStr := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" dsFunctions := TODBC():New( cConStr ) diff --git a/harbour/contrib/hbodbc/tests/testodbc.prg b/harbour/contrib/hbodbc/tests/testodbc.prg index 0cc262fe4e..ebe594ae24 100644 --- a/harbour/contrib/hbodbc/tests/testodbc.prg +++ b/harbour/contrib/hbodbc/tests/testodbc.prg @@ -18,9 +18,7 @@ PROCEDURE Main() LOCAL nRows := 0 LOCAL cCode, cFunc, cState, cComm - LOCAL cDir := hb_DirBase() - - cConstrin := "DBQ=" + hb_FNameMerge( cDir, "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" + cConstrin := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" ? padc( "*** ODBC ACCESS TEST ***", 80 ) ? diff --git a/harbour/contrib/hbodbc/todbc.prg b/harbour/contrib/hbodbc/todbc.prg index c671c7ae88..1d810c7e8a 100644 --- a/harbour/contrib/hbodbc/todbc.prg +++ b/harbour/contrib/hbodbc/todbc.prg @@ -730,7 +730,7 @@ METHOD LoadData( nPos ) CLASS TODBC CASE SQL_TIMESTAMP CASE SQL_DATE - uData := SToD( SubStr( uData, 1, 4 ) + SubStr( uData, 6, 2 ) + SubStr( uData, 9, 2 ) ) + uData := hb_SToD( SubStr( uData, 1, 4 ) + SubStr( uData, 6, 2 ) + SubStr( uData, 9, 2 ) ) EXIT CASE SQL_BIT @@ -750,7 +750,7 @@ METHOD LoadData( nPos ) CLASS TODBC uData := StrTran( uData, ",", "." ) uData := Round( Val( uData ), ::Fields[ i ]:DataSize ) ENDIF - uData := SetNumLen( uData, ::Fields[ i ]:DataSize, ::Fields[ i ]:DataDecs ) + uData := SQLNumSetLen( uData, ::Fields[ i ]:DataSize, ::Fields[ i ]:DataDecs ) EXIT ENDSWITCH diff --git a/harbour/contrib/hbole/olecore.c b/harbour/contrib/hbole/olecore.c index 4e16f32a1a..6bda1c66f2 100644 --- a/harbour/contrib/hbole/olecore.c +++ b/harbour/contrib/hbole/olecore.c @@ -268,7 +268,7 @@ static void hb_oleVariantToItem( PHB_ITEM pItem, VARIANT* pVariant ) hb_itemPutNInt( pItem, ( HB_LONG ) pVariant->n1.n2.n3.ulVal ); break; - case VT_UI8: + case VT_UI8: /* TODO: sign is lost. Convertion to double will lose significant digits. */ hb_itemPutNInt( pItem, ( HB_LONG ) pVariant->n1.n2.n3.ullVal ); break; @@ -443,7 +443,7 @@ HB_FUNC( OLEGETACTIVEOBJECT ) /* ( cOleName | cCLSID [, cIID ] ) */ } -HB_FUNC( OLERELEASE ) +HB_FUNC( OLERELEASE ) { IDispatch * pDisp = ( IDispatch* ) hb_parptr( 1 ); @@ -462,89 +462,27 @@ HB_FUNC( OLEERRORTEXT ) { switch( s_lOleError ) { - case S_OK: - hb_retc( "" ); - break; - - case CO_E_CLASSSTRING: - hb_retc( "CO_E_CLASSSTRING" ); - break; - - case OLE_E_WRONGCOMPOBJ: - hb_retc( "OLE_E_WRONGCOMPOBJ" ); - break; - - case REGDB_E_CLASSNOTREG: - hb_retc( "REGDB_E_CLASSNOTREG" ); - break; - - case REGDB_E_WRITEREGDB: - hb_retc( "REGDB_E_WRITEREGDB" ); - break; - - case E_OUTOFMEMORY: - hb_retc( "E_OUTOFMEMORY" ); - break; - - case E_INVALIDARG: - hb_retc( "E_INVALIDARG" ); - break; - - case E_UNEXPECTED: - hb_retc( "E_UNEXPECTED" ); - break; - - case DISP_E_UNKNOWNNAME: - hb_retc( "DISP_E_UNKNOWNNAME" ); - break; - - case DISP_E_UNKNOWNLCID: - hb_retc( "DISP_E_UNKNOWNLCID" ); - break; - - case DISP_E_BADPARAMCOUNT: - hb_retc( "DISP_E_BADPARAMCOUNT" ); - break; - - case DISP_E_BADVARTYPE: - hb_retc( "DISP_E_BADVARTYPE" ); - break; - - case DISP_E_EXCEPTION: - hb_retc( "DISP_E_EXCEPTION" ); - break; - - case DISP_E_MEMBERNOTFOUND: - hb_retc( "DISP_E_MEMBERNOTFOUND" ); - break; - - case DISP_E_NONAMEDARGS: - hb_retc( "DISP_E_NONAMEDARGS" ); - break; - - case DISP_E_OVERFLOW: - hb_retc( "DISP_E_OVERFLOW" ); - break; - - case DISP_E_PARAMNOTFOUND: - hb_retc( "DISP_E_PARAMNOTFOUND" ); - break; - - case DISP_E_TYPEMISMATCH: - hb_retc( "DISP_E_TYPEMISMATCH" ); - break; - - case DISP_E_UNKNOWNINTERFACE: - hb_retc( "DISP_E_UNKNOWNINTERFACE" ); - break; - - case DISP_E_PARAMNOTOPTIONAL: - hb_retc( "DISP_E_PARAMNOTOPTIONAL" ); - break; - - default: - hb_retc( "Unknown OLE error" ); - break; + case S_OK: hb_retc_null(); break; + case CO_E_CLASSSTRING: hb_retc( "CO_E_CLASSSTRING" ); break; + case OLE_E_WRONGCOMPOBJ: hb_retc( "OLE_E_WRONGCOMPOBJ" ); break; + case REGDB_E_CLASSNOTREG: hb_retc( "REGDB_E_CLASSNOTREG" ); break; + case REGDB_E_WRITEREGDB: hb_retc( "REGDB_E_WRITEREGDB" ); break; + case E_OUTOFMEMORY: hb_retc( "E_OUTOFMEMORY" ); break; + case E_INVALIDARG: hb_retc( "E_INVALIDARG" ); break; + case E_UNEXPECTED: hb_retc( "E_UNEXPECTED" ); break; + case DISP_E_UNKNOWNNAME: hb_retc( "DISP_E_UNKNOWNNAME" ); break; + case DISP_E_UNKNOWNLCID: hb_retc( "DISP_E_UNKNOWNLCID" ); break; + case DISP_E_BADPARAMCOUNT: hb_retc( "DISP_E_BADPARAMCOUNT" ); break; + case DISP_E_BADVARTYPE: hb_retc( "DISP_E_BADVARTYPE" ); break; + case DISP_E_EXCEPTION: hb_retc( "DISP_E_EXCEPTION" ); break; + case DISP_E_MEMBERNOTFOUND: hb_retc( "DISP_E_MEMBERNOTFOUND" ); break; + case DISP_E_NONAMEDARGS: hb_retc( "DISP_E_NONAMEDARGS" ); break; + case DISP_E_OVERFLOW: hb_retc( "DISP_E_OVERFLOW" ); break; + case DISP_E_PARAMNOTFOUND: hb_retc( "DISP_E_PARAMNOTFOUND" ); break; + case DISP_E_TYPEMISMATCH: hb_retc( "DISP_E_TYPEMISMATCH" ); break; + case DISP_E_UNKNOWNINTERFACE: hb_retc( "DISP_E_UNKNOWNINTERFACE" ); break; + case DISP_E_PARAMNOTOPTIONAL: hb_retc( "DISP_E_PARAMNOTOPTIONAL" ); break; + default: hb_retc( "Unknown OLE error" ); break; } } @@ -587,7 +525,7 @@ HB_FUNC( HB_OLEAUTO___ONERROR ) if( szMethod[ 0 ] == '_' && hb_pcount() > 0 ) { pMemberArray = &szMethodWide[ 1 ]; - s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray, + s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray, 1, LOCALE_USER_DEFAULT, &dispid ); if ( s_lOleError == S_OK ) @@ -599,9 +537,9 @@ HB_FUNC( HB_OLEAUTO___ONERROR ) dispparam.rgdispidNamedArgs = &lPropPut; dispparam.cNamedArgs = 1; - s_lOleError = pDisp->lpVtbl->Invoke( pDisp, dispid, &IID_NULL, + s_lOleError = pDisp->lpVtbl->Invoke( pDisp, dispid, &IID_NULL, LOCALE_USER_DEFAULT, - DISPATCH_PROPERTYPUT, &dispparam, + DISPATCH_PROPERTYPUT, &dispparam, NULL, &excep, &uiArgErr ); FreeParams( &dispparam ); @@ -615,7 +553,7 @@ HB_FUNC( HB_OLEAUTO___ONERROR ) /* Try property get and invoke */ pMemberArray = szMethodWide; - s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray, + s_lOleError = pDisp->lpVtbl->GetIDsOfNames( pDisp, &IID_NULL, &pMemberArray, 1, LOCALE_USER_DEFAULT, &dispid ); hb_xfree( szMethodWide ); diff --git a/harbour/contrib/hbole/tests/hbole.hbp b/harbour/contrib/hbole/tests/hbole.hbp index c25550dbc7..1364855a3e 100644 --- a/harbour/contrib/hbole/tests/hbole.hbp +++ b/harbour/contrib/hbole/tests/hbole.hbp @@ -2,4 +2,4 @@ # $Id$ # -{win}libs=hbole ole32 oleaut32 +{win}libs=hbole diff --git a/harbour/contrib/hbole/tests/sample.odt b/harbour/contrib/hbole/tests/sample.odt index cb66c15059..bd010e7a16 100644 Binary files a/harbour/contrib/hbole/tests/sample.odt and b/harbour/contrib/hbole/tests/sample.odt differ diff --git a/harbour/contrib/hbole/tests/testole.prg b/harbour/contrib/hbole/tests/testole.prg index a7927b1dd7..b101ba52d5 100644 --- a/harbour/contrib/hbole/tests/testole.prg +++ b/harbour/contrib/hbole/tests/testole.prg @@ -24,7 +24,7 @@ PROCEDURE Main() @ 6, 25 TO 19, 55 DOUBLE @ 8, 28 SAY "Test Harbour OLE with..." - While .t. + DO WHILE .T. @ 10, 32 PROMPT "MS Excel" @ 11, 32 PROMPT "MS Word" @ 12, 32 PROMPT "MS Outlook (1)" @@ -55,7 +55,7 @@ PROCEDURE Main() ELSEIF nOption == 8 EXIT ENDIF - End + ENDDO SetColor("W/N") CLS @@ -69,40 +69,29 @@ STATIC PROCEDURE Exm_CDO() LOCAL oCDOMsg LOCAL oCDOConf - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oCDOMsg := CreateObject( "CDO.Message" ) - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} + IF ( oCDOMsg := CreateObject( "CDO.Message" ) ) != NIL .AND. ; + ( oCDOConf := CreateObject( "CDO.Configuration" ) ) != NIL - oCDOConf := CreateObject( "CDO.Configuration" ) + oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") := 2 // ; cdoSendUsingPort + oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") := "localhost" + oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") := 25 + oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") := 120 + oCDOConf:Fields:Update() - oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") := 2 // ; cdoSendUsingPort - oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") := "localhost" - oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") := 25 - oCDOConf:Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") := 120 - oCDOConf:Fields:Update() + oCDOMsg:Configuration := oCDOConf + oCDOMsg:BodyPart:Charset := "iso-8859-2" // "iso-8859-1" "utf-8" + oCDOMsg:To := "test@localhost" + oCDOMsg:From := "sender@localhost" + oCDOMsg:Subject := "Test message" + oCDOMsg:TextBody := "Test message body" - oCDOMsg:Configuration := oCDOConf - oCDOMsg:BodyPart:Charset := "iso-8859-2" // "iso-8859-1" "utf-8" - oCDOMsg:To := "test@localhost" - oCDOMsg:From := "sender@localhost" - oCDOMsg:Subject := "Test message" - oCDOMsg:TextBody := "Test message body" + oCDOMsg:Send() + ELSE + Alert( "Error: CDO subsystem not available. [" + OLEErrorText()+ "]" ) + ENDIF - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oCDOMsg:Send() - RECOVER - Alert( "Error: CDO send error. [" + Ole2TxtError()+ "]" ) - END SEQUENCE - - oCDOConf := NIL - - END SEQUENCE - - oCDOMsg := NIL - - RECOVER - Alert( "Error: CDO subsystem not available. [" + Ole2TxtError()+ "]" ) - END SEQUENCE + oCDOConf := NIL + oCDOMsg := NIL RETURN @@ -110,15 +99,12 @@ STATIC PROCEDURE Exm_IExplorer() LOCAL oIE - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oIE := CreateObject( "InternetExplorer.Application" ) - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oIE:Visible := .T. - oIE:Navigate( "http://www.harbour-project.org" ) - END SEQUENCE - RECOVER - Alert( "Error: IExplorer not available. [" + Ole2TxtError()+ "]" ) - END SEQUENCE + IF ( oIE := CreateObject( "InternetExplorer.Application" ) ) != NIL + oIE:Visible := .T. + oIE:Navigate( "http://www.harbour-project.org" ) + ELSE + Alert( "Error: IExplorer not available. [" + OLEErrorText()+ "]" ) + ENDIF RETURN @@ -129,70 +115,66 @@ STATIC PROCEDURE Exm_MSExcel() LOCAL oWorkSheet LOCAL oAS - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oExcel := CreateObject( "Excel.Application" ) - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} + IF ( oExcel := CreateObject( "Excel.Application" ) ) != NIL - oWorkBook := oExcel:WorkBooks:Add() + oWorkBook := oExcel:WorkBooks:Add() - FOR EACH oWorkSheet IN oWorkBook:WorkSheets - ? oWorkSheet:Name - NEXT + FOR EACH oWorkSheet IN oWorkBook:WorkSheets + ? oWorkSheet:Name + NEXT - oAS := oExcel:ActiveSheet() + oAS := oExcel:ActiveSheet() - oAS:Cells:Font:Name := "Arial" - oAS:Cells:Font:Size := 12 + oAS:Cells:Font:Name := "Arial" + oAS:Cells:Font:Size := 12 - // Explicit use of DEFAULT method by means of #xtranslate above!!! - oAS:Cells( 3, 1 ) := "Explict DEFAULT Method Text:" + // Explicit use of DEFAULT method by means of #xtranslate above!!! + oAS:Cells( 3, 1 ) := "Explict DEFAULT Method Text:" - // Array notation seem to have REVERSED indexs for the Cells Collections!!! - // Implicitly using DEFAULT Method - oAS:Cells[ 2, 3 ] := "Implicit DEFAULT Method using *reversed* array index notation" + // Array notation seem to have REVERSED indexs for the Cells Collections!!! + // Implicitly using DEFAULT Method + oAS:Cells[ 2, 3 ] := "Implicit DEFAULT Method using *reversed* array index notation" - // Operator overloading will attempt explict resolutin using :OleValue - oAS:Cells[ 2, 3 ] += "!" + // Operator overloading will attempt explict resolutin using :OleValue + oAS:Cells[ 2, 3 ] += "!" - oAS:Cells( 4, 1 ):Value := "Numeric:" - oAS:Cells( 4, 2 ):NumberFormat := "#.##0,00" + oAS:Cells( 4, 1 ):Value := "Numeric:" + oAS:Cells( 4, 2 ):NumberFormat := "#.##0,00" - oAS:Cells[ 2, 4 ] := 1234.50 - oAS:Cells[ 2, 4 ] *= 4 - ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value - oAS:Cells[ 2, 4 ] /= 2 - ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value + oAS:Cells[ 2, 4 ] := 1234.50 + oAS:Cells[ 2, 4 ] *= 4 + ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value + oAS:Cells[ 2, 4 ] /= 2 + ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value - oAS:Cells[ 2, 4 ]++ - ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value - oAS:Cells[ 2, 4 ]-- - ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value + oAS:Cells[ 2, 4 ]++ + ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value + oAS:Cells[ 2, 4 ]-- + ? oAS:Cells[ 2, 4 ], oAS:Cells[ 2, 4 ]:Value - oAS:Cells( 5, 1 ):Value := "Logical:" - oAS:Cells( 5, 2 ):Value := .T. - oAS:Cells( 6, 1 ):Value := "Date:" - oAS:Cells( 6, 2 ):Value := DATE() + oAS:Cells( 5, 1 ):Value := "Logical:" + oAS:Cells( 5, 2 ):Value := .T. + oAS:Cells( 6, 1 ):Value := "Date:" + oAS:Cells( 6, 2 ):Value := DATE() - oAS:Columns( 1 ):Font:Bold := .T. - oAS:Columns( 2 ):HorizontalAlignment := -4152 // xlRight + oAS:Columns( 1 ):Font:Bold := .T. + oAS:Columns( 2 ):HorizontalAlignment := -4152 // xlRight - oAS:Columns( 1 ):AutoFit() - oAS:Columns( 2 ):AutoFit() + oAS:Columns( 1 ):AutoFit() + oAS:Columns( 2 ):AutoFit() - oAS:Cells( 1, 1 ):Value := "OLE from Harbour" - oAS:Cells( 1, 1 ):Font:Size := 16 - oAS:Range( "A1:B1" ):HorizontalAlignment := 7 + oAS:Cells( 1, 1 ):Value := "OLE from Harbour" + oAS:Cells( 1, 1 ):Font:Size := 16 + oAS:Range( "A1:B1" ):HorizontalAlignment := 7 - oAS:Cells( 1, 1 ):Select() + oAS:Cells( 1, 1 ):Select() - oExcel:Visible := .T. + oExcel:Visible := .T. - oExcel:Quit() - - END SEQUENCE - RECOVER - Alert( "Error: MS Excel not available. [" + Ole2TxtError()+ "]" ) - END SEQUENCE + oExcel:Quit() + ELSE + Alert( "Error: MS Excel not available. [" + OLEErrorText()+ "]" ) + ENDIF RETURN @@ -201,26 +183,22 @@ STATIC PROCEDURE Exm_MSWord() LOCAL oWord LOCAL oText - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oWord := CreateObject( "Word.Application" ) - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} + IF ( oWord := CreateObject( "Word.Application" ) ) != NIL - oWord:Documents:Add() + oWord:Documents:Add() - oText := oWord:Selection() + oText := oWord:Selection() - oText:Text := "OLE from Harbour" + hb_OSNewLine() - oText:Font:Name := "Arial" - oText:Font:Size := 48 - oText:Font:Bold := .T. + oText:Text := "OLE from Harbour" + hb_OSNewLine() + oText:Font:Name := "Arial" + oText:Font:Size := 48 + oText:Font:Bold := .T. - oWord:Visible := .T. - oWord:WindowState := 1 // ; Maximize - - END SEQUENCE - RECOVER - Alert( "Error: MS Word not available. [" + Ole2TxtError()+ "]" ) - END SEQUENCE + oWord:Visible := .T. + oWord:WindowState := 1 // ; Maximize + ELSE + Alert( "Error: MS Word not available. [" + OLEErrorText()+ "]" ) + ENDIF RETURN @@ -229,16 +207,13 @@ STATIC PROCEDURE Exm_MSOutlook() LOCAL oOL LOCAL oList - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oOL := CreateObject( "Outlook.Application" ) - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} - oList := oOL:CreateItem( 7 ) // ; olDistributionListItem - oList:DLName := "Distribution List" - oList:Display( .F. ) - END SEQUENCE - RECOVER - Alert( "Error: MS Outlook not available. [" + Ole2TxtError()+ "]" ) - END SEQUENCE + IF ( oOL := CreateObject( "Outlook.Application" ) ) != NIL + oList := oOL:CreateItem( 7 ) // ; olDistributionListItem + oList:DLName := "Distribution List" + oList:Display( .F. ) + ELSE + Alert( "Error: MS Outlook not available. [" + OLEErrorText()+ "]" ) + ENDIF RETURN @@ -249,9 +224,9 @@ STATIC PROCEDURE Exm_MSOutlook2() LOCAL oMail LOCAL i - oOL := TOleAuto():New( "Outlook.Application.9" ) + oOL := hb_OleAuto():New( "Outlook.Application.9" ) - IF Ole2TxtError() != "S_OK" + IF OLEErrorText() != "S_OK" Alert("Outlook is not available", "Error") ELSE oMail := oOL:CreateItem( 0 ) // olMailItem @@ -283,36 +258,36 @@ STATIC PROCEDURE Exm_OpenOffice() LOCAL oOO_PropVal01 LOCAL oOO_Doc - LOCAL cDir + IF ( oOO_ServiceManager := CreateObject( "com.sun.star.ServiceManager" ) ) != NIL - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} + IF ( oOO_Desktop := oOO_ServiceManager:createInstance( "com.sun.star.frame.Desktop" ) ) != NIL + IF ( oOO_PropVal01 := oOO_ServiceManager:Bridge_GetStruct( "com.sun.star.beans.PropertyValue" ) ) != NIL + IF ( oOO_Doc := oOO_Desktop:loadComponentFromURL( OO_ConvertToURL( hb_FNameMerge( hb_dirBase(), "sample.odt" ) ), "_blank", 0, { oOO_PropVal01 } ) ) != NIL - oOO_ServiceManager := CreateObject( "com.sun.star.ServiceManager" ) + // ... - BEGIN SEQUENCE WITH {|oErr| Break( oErr )} + oOO_Doc:Close( .T. ) + oOO_Doc := NIL + ELSE + Alert( "Error: #3: " + OO_ConvertToURL( hb_FNameMerge( hb_dirBase(), "sample.odt" ) ) ) + ENDIF - hb_FNameSplit( hb_ArgV( 0 ), @cDir ) - - oOO_Desktop := oOO_ServiceManager:createInstance( "com.sun.star.frame.Desktop" ) - oOO_PropVal01 := oOO_ServiceManager:Bridge_GetStruct( "com.sun.star.beans.PropertyValue" ) - oOO_Doc := oOO_Desktop:loadComponentFromURL( OO_ConvertToURL( hb_FNameMerge( cDir, "sample.odt" ) ), "_blank", 0, { oOO_PropVal01 } ) - - // ... - - oOO_Doc:Close( .T. ) - oOO_Doc := NIL + oOO_PropVal01 := NIL + ELSE + Alert( "Error: #2" ) + ENDIF oOO_Desktop:Terminate() oOO_Desktop := NIL - oOO_PropVal01 := NIL - - END SEQUENCE + ELSE + Alert( "Error: #1" ) + ENDIF oOO_ServiceManager := NIL - RECOVER - Alert( "Error: OpenOffice not available. [" + Ole2TxtError()+ "]" ) - END SEQUENCE + ELSE + Alert( "Error: OpenOffice not available. [" + OLEErrorText()+ "]" ) + ENDIF RETURN diff --git a/harbour/contrib/hbqt/hbqt_qabstractitemview.cpp b/harbour/contrib/hbqt/hbqt_qabstractitemview.cpp index fc8d7a5c4d..59b7fe2a82 100644 --- a/harbour/contrib/hbqt/hbqt_qabstractitemview.cpp +++ b/harbour/contrib/hbqt/hbqt_qabstractitemview.cpp @@ -57,7 +57,7 @@ #if QT_VERSION >= 0x040500 -#include +#include /*----------------------------------------------------------------------*/ /* diff --git a/harbour/contrib/hbwin/tests/hbwin.hbp b/harbour/contrib/hbwin/tests/hbwin.hbp index 212f8315e5..646434df24 100644 --- a/harbour/contrib/hbwin/tests/hbwin.hbp +++ b/harbour/contrib/hbwin/tests/hbwin.hbp @@ -2,4 +2,4 @@ # $Id$ # -{win}libs=hbwin ole32 oleaut32 shell32 winspool +{win}libs=hbwin diff --git a/harbour/utils/hbmk2/examples/winapi.hbp b/harbour/utils/hbmk2/examples/winapi.hbp deleted file mode 100644 index a912c3d966..0000000000 --- a/harbour/utils/hbmk2/examples/winapi.hbp +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# - -# Used by Harbour core -{win}libs=kernel32 user32 wsock32 advapi32 gdi32 -# Others -{win}libs=winspool comctl32 comdlg32 shell32 ole32 oleaut32 uuid odbc32 mpr winmm mapi32 -{win&!bcc}libs=odbccp32 diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index a306a8ddcc..87108e2bd1 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -221,6 +221,8 @@ FUNCTION Main( ... ) LOCAL s_aLIBSYS LOCAL s_aLIBPATH LOCAL s_aLIBDYNHAS + LOCAL s_aLIBSYSCORE := {} + LOCAL s_aLIBSYSMISC := {} LOCAL s_aOPTPRG LOCAL s_aOPTC LOCAL s_aOPTL @@ -510,6 +512,8 @@ FUNCTION Main( ... ) cDynLibExt := ".dll" cBinExt := ".exe" cOptPrefix := "-/" + s_aLIBSYSCORE := { "user32", "gdi32", "advapi32", "ws2_32" } + s_aLIBSYSMISC := { "winspool", "comctl32", "comdlg32", "shell32", "ole32", "oleaut32", "uuid", "mpr", "winmm", "mapi32" } OTHERWISE OutErr( "hbmk: Error: Architecture value unknown: " + t_cARCH + hb_osNewLine() ) PauseForKey() @@ -1353,9 +1357,10 @@ FUNCTION Main( ... ) ENDIF IF ! s_lSHARED IF t_cCOMP == "mingwce" - s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl", "uuid", "ole32" } ) + s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl" } ) + s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "uuid", "ole32" } ) ELSE - s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "winspool", "gdi32", "comctl32", "comdlg32", "ole32", "oleaut32", "uuid", "ws2_32" } ) + s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, s_aLIBSYSCORE, s_aLIBSYSMISC } ) ENDIF ENDIF s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,; @@ -1502,7 +1507,7 @@ FUNCTION Main( ... ) IF s_lMAP AAdd( s_aOPTL, "OP MAP" ) ENDIF - s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "ws2_32" } ) + s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, { "kernel32" }, s_aLIBSYSCORE, s_aLIBSYSMISC } ) s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,; "harbour-" + cDL_Version_Alter ),; "hbmainstd",; @@ -1682,7 +1687,7 @@ FUNCTION Main( ... ) IF s_lSHARED AAdd( s_aOPTL, "/libpath:{DB}" ) ENDIF - s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "user32", "ws2_32", "advapi32", "gdi32" } ) + s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, s_aLIBSYSCORE, s_aLIBSYSMISC } ) DO CASE CASE t_cCOMP $ "msvc|icc" s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,; @@ -1766,7 +1771,7 @@ FUNCTION Main( ... ) IF s_lDEBUG AAdd( s_aOPTL, "/debug" ) ENDIF - s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "kernel32", "user32", "ws2_32", "advapi32", "gdi32" } ) + s_aLIBSYS := ArrayAJoin( { s_aLIBSYS, { "kernel32" }, s_aLIBSYSCORE, s_aLIBSYSMISC } ) s_aLIBSHARED := { iif( s_lMT, "harbourmt-" + cDL_Version_Alter,; "harbour-" + cDL_Version_Alter ),; "hbmainstd",; @@ -1783,7 +1788,8 @@ FUNCTION Main( ... ) CASE t_cARCH == "win" .AND. t_cCOMP == "poccce" /* NOTE: Cross-platform: wince/ARM on win/x86 */ CASE t_cARCH == "linux" .AND. t_cCOMP == "mingwce" /* NOTE: Cross-platform: wince/ARM on win/x86 */ IF ! s_lSHARED - s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl", "uuid", "ole32" } ) + s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "wininet", "ws2", "commdlg", "commctrl" } ) + s_aLIBSYS := ArrayJoin( s_aLIBSYS, { "uuid", "ole32" } ) ENDIF ENDCASE