diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d356ca574e..8f1d096080 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,13 @@ past entries belonging to these authors: Viktor Szakats. */ +2009-05-08 10:14 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * source/rtl/tclass.prg + ! Fix to prev commit. + + * contrib/hbole/tests/testole.prg + + Added ADODB example. Submitted by Enrico Maria Giordano. + 2009-05-08 09:30 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg ! Fixed to not attempt cycling through all specified languages diff --git a/harbour/contrib/hbole/tests/testole.prg b/harbour/contrib/hbole/tests/testole.prg index cf5c0299e4..ee3151346b 100644 --- a/harbour/contrib/hbole/tests/testole.prg +++ b/harbour/contrib/hbole/tests/testole.prg @@ -31,33 +31,34 @@ PROCEDURE Main() ? "7) OpenOffice Writer" ? "8) OpenOffice Open" ? "9) Send mail via CDO" + ? "a) Read ADODB table" ? "0) Quit" ? "> " nOption := Inkey( 0 ) ?? Chr( nOption ) - nOption -= Asc( "0" ) - - IF nOption == 1 + IF nOption == Asc( "1" ) Exm_MSExcel() - ELSEIF nOption == 2 + ELSEIF nOption == Asc( "2" ) Exm_MSWord() - ELSEIF nOption == 3 + ELSEIF nOption == Asc( "3" ) Exm_MSOutlook() - ELSEIF nOption == 4 + ELSEIF nOption == Asc( "4" ) Exm_MSOutlook2() - ELSEIF nOption == 5 + ELSEIF nOption == Asc( "5" ) Exm_IExplorer() - ELSEIF nOption == 6 + ELSEIF nOption == Asc( "6" ) Exm_OOCalc() - ELSEIF nOption == 7 + ELSEIF nOption == Asc( "7" ) Exm_OOWriter() - ELSEIF nOption == 8 + ELSEIF nOption == Asc( "8" ) Exm_OOOpen() - ELSEIF nOption == 9 + ELSEIF nOption == Asc( "9" ) Exm_CDO() - ELSEIF nOption == 0 + ELSEIF nOption == Asc( "a" ) + Exm_ADODB() + ELSEIF nOption == Asc( "0" ) EXIT ENDIF ENDDO @@ -391,3 +392,35 @@ STATIC PROCEDURE Exm_CDO() ENDIF RETURN + +#define adOpenForwardOnly 0 +#define adOpenKeyset 1 +#define adOpenDynamic 2 +#define adOpenStatic 3 + +#define adLockReadOnly 1 +#define adLockPessimistic 2 +#define adLockOptimistic 3 +#define adLockBatchOptimistic 4 + +#define adUseNone 1 +#define adUseServer 2 +#define adUseClient 3 + +STATIC PROCEDURE Exm_ADODB() + + LOCAL oRs := CreateObject( "ADODB.Recordset" ) + + oRs:Open( "SELECT * FROM test ORDER BY First", ; + "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + hb_DirBase() + "\..\..\hbodbc\tests\test.mdb",; + adOpenForwardOnly,; + adLockReadOnly ) + + DO WHILE ! oRs:EOF + ? oRs:Fields( "First" ):Value + oRs:MoveNext() + ENDDO + + oRs:Close() + + RETURN diff --git a/harbour/source/rtl/tclass.prg b/harbour/source/rtl/tclass.prg index bf2d972a8e..85cbb98057 100644 --- a/harbour/source/rtl/tclass.prg +++ b/harbour/source/rtl/tclass.prg @@ -245,9 +245,9 @@ STATIC PROCEDURE Create( /* MetaClass */ ) /* local messages... */ FOR EACH n IN ::aDatas - __clsAddMsg( hClass, n[ HB_OO_DATA_SYMBOL ] , n, ; + __clsAddMsg( hClass, n[ HB_OO_DATA_SYMBOL ] , n:__enumIndex(), ; HB_OO_MSG_ACCESS, n[ HB_OO_DATA_VALUE ], n[ HB_OO_DATA_SCOPE ] ) - __clsAddMsg( hClass, "_" + n[ HB_OO_DATA_SYMBOL ] , n, ; + __clsAddMsg( hClass, "_" + n[ HB_OO_DATA_SYMBOL ] , n:__enumIndex(), ; HB_OO_MSG_ASSIGN, n[ HB_OO_DATA_TYPE ] , n[ HB_OO_DATA_SCOPE ] ) NEXT @@ -258,9 +258,9 @@ STATIC PROCEDURE Create( /* MetaClass */ ) nClassBegin := __CLS_CNTCLSDATA( hClass ) FOR EACH n IN ::aClsDatas - __clsAddMsg( hClass, n[ HB_OO_CLSD_SYMBOL ] , n + nClassBegin,; + __clsAddMsg( hClass, n[ HB_OO_CLSD_SYMBOL ] , n:__enumIndex() + nClassBegin,; HB_OO_MSG_CLSACCESS, n[ HB_OO_CLSD_VALUE ], n[ HB_OO_CLSD_SCOPE ] ) - __clsAddMsg( hClass, "_" + n[ HB_OO_CLSD_SYMBOL ], n + nClassBegin,; + __clsAddMsg( hClass, "_" + n[ HB_OO_CLSD_SYMBOL ], n:__enumIndex() + nClassBegin,; HB_OO_MSG_CLSASSIGN, , n[ HB_OO_CLSD_SCOPE ] ) NEXT