Mega Search
23.2 Million


Sign Up

Make a donation  
ANN: New xHarbour Builder release. (Feb2005)  
News Group: comp.lang.clipper

Hello,

We are very happy to announce the release of xHarbour.com's xHarbour
Builder, February 2005. This new release is centered around the current
xHarbour core as of [ 2005-02-22 11:52 UTC+0100 ] with many additional
tools, goodies, and add-ons.

This is a detailed(!) list of what's new for this release :

- xHarbour Builder
   - Visual xHarbour Preview 7 included
     More info on Visual xHarbour via http://www.xHarbour.com/Visual
   - New xHarbour.chm help file with new and updated documentation
   - Now includes source folder analogue to Clipper's source folder.
   - Installer writes installation folder to registry for easy VXH update
   - Browse() in xPrompt can be used to edit Memo fields in a DBF

- xHarbour Builder xBuild
   - xBuild is no longer affected by INCLUDE and LIB Env Vars, which
     means it is completely self contained now.
   - Fixed and enhanced

- xHarbour Builder SQLRDD
   - New multi language database fields (VERY cool!)
   - New native firebird support
   - Added new SR_SetJoin() function as a high speed replacement
     to SET RELATION (see samples/sqlrdd/setjoin.prg)
   - Completely renewed samples structure, and new sample programs -
     now all samples connect to database using connect.prg and setup
     information in sqlrdd.ini
   - New helper functions to historic (see samples/sqlrdd/historic.prg)
   - New functions:
     - FBCreateDB( cDatabase,     ;
                   cUser,         ;
                   cPasswd,       ;
                   [], ;
                   [],   ;
                   [] )
     - OracleWriteMemo()
     - Escape_firebird( ToBuffer, FromBuffer, iSize )
     - SR_SetlGoTopOnFirstInteract( lOpt ) => lOld
     - SR_SetnLineCountResult( lOpt ) => lOld
     - SR_CleanTabInfoCache()
     - SR_SetHideHistoric( lOpt )
     - SR_SetHideRecno( lOpt )
     - SR_CheckMgmntInd(lSet)
     - SR_OrdCondSet( cForSql, cForxBase ) - Set a FOR CLAUSE to current
       index in run time
     - SR_HasFilters() - to know if current workarea
       has any kind of active filter (FOR clause, Filter, Historic..)
     - SR_SetFilter() - to add a server-side filter (sql expresion)
       to current workarea
     - SR_IsWAHist() - to know if current workarea has historic control
   - Added CASCADE in Postgre's DROP TABLE
   - Changed dbUseArea( .f., "SELECT * FROM..." ) to support queries
     with or without SR_RECNO column in result set.
   - Added ability to write VERY LONG streams into memo fields under
     Oracle
   - Performance improved when loading ALL_IN_CACHE workareas
   - Fixed SEEK to make exact query if right(cSeekExpr,1) is blank.
     This makes SEEK more DBFCDX compatible
   - Many fixes in OCI reading functions
   - Forced Isc_rollback_transaction on ANY sql error (Firebird)
   - Fixes in GetLine method SetJoin()
   - Fixed default error.log file to sqlerror.log and .log
   - Optimization on repeated table open
   - Fixed bug when index expression has "->"
   - Index physical name length limited to 30 bytes in Firebird
   - Big code clean up on functions that release memory (Oracle OCI)
   - Changes all internal functions to use then PORACLE_CONN structure
     instead of PORACLE_STMT (OCI)
   - Changed Fetch() method to use FetchRaw() from derived class
   - Added TableStruct() method in connection classes to read the
     structure of any table without opening it
   - Added FetchRaw() method in connection classes
   - Added charset setup support in Firebird
   - Fixed IsNull() with MySQL
   - Fixed NOT NULL column creation in Firebird
   - Fixed temp dbfs to force DBFCDX driver even if default RDD
     is SQLRDD
   - Fixed memory consume in queries returning to array
   - Changed Postgres LOCK to hold forever instead of timeout. Sorry,
     it hurts but this is needed to not have corrupt transactions
   - Added new option to OrdScope: TOP_BOTTOM_SCOPE - use it when TOP
     and BOTTOM limits are the same to have a faster experience
   - Fixed some
 DBOI_* return values
   - Connection functions redesigned to allow connection class detection
     from DSN string
   - Fixed LEFT OUTER JOIN in SQL Parser
   - Added missing RIGHT OUTER JOIN ins SQL Parser
   - Fixed nasty bug that crashes application if SR_RECNO is
     not the last column in table
   - Added connection handle as a workarea callback block option -
     Now we can handle multiple connections is a pretty fashion
   - Transaction related functions (sr_BeginTrasaction, etc..) can
     receive connection parameter as connection object or connection
     handle
   - Error reports are now output to sqlerr.log instead of sql1.log
   - Removed "succefull connection" from logfiles.
   - Added function DetectDBFromDSN() => CONNECTION_CONSTANT to detect
     if DSN string is OCI=, MYSQL=, FB=, PGS=
   - SR_AddConnection() recognizes "OCI=, MYSQL=, FB=, PGS=" like HST=
     in DSN string now.
   - Fixed numeric fields length reported by Interbase API

- xHarbour Builder RMDBFCDX
   - Added debug function rlDo( ,  )
   - Cleared unused bits in negated filter.
   - Fixed cmFiltCount(). It returns rlCount() for current RM
     filter and deleted records for fully optimized expressions
     It never checks scopes.
   - cm(x)Key*() functions use DBOI_KEYGOTO[RAW] and
     DBOI_KEYNO[RAW] and DBOI_KEYCOUNT[RAW] now to avoid confusion.
   - Disabled DELETED() and logical position optimization in
     ordKey{Count,Goto,Pos}() functions.
   - Fixed typo in FOR condition

- xHarbour Virtual Machine (VM)
   - New, much faster, and more compatible, Ole implementation.
   - Faster PCODE evaluation
   - Fixed support for  syntax
   - Fixed error reported in hb_vmQuit() when MT program exits.
   - Fixed error when more then one :TH: prefix for
     memvars was added in MT programs.
   - Fixed several memory leaks
   - Fixed bug which forced context of last defined class for
     all methods definition, even when explicit class is specified.
   - Optimized classes
   - Extended functionality of bit operators: &, | and ^^.
     Now both arguments can be numeric or string type.
     Available syntax:
         cString operator cMask => cResult
         cString operator nMask => cResult
         nValue operator cString => nResult
         nValue1 operator nValue2 => nResult

- xHarbour Debugger
   - Added support for dynamic debugger windows repositioning
     when screen dimensions are changed.
   - Added capability to change LOCAL and STATIC variables from
     the command window.
   - Improved error diagnostics for expression evaluation.

- xHarbour Run Time Library (RTL)
   - Fixes in:
      HitTest()
      KillFocus()
      Tbrowse()
      Win32PRN Class
      Teditor Class
   - Add support for hb_fsLockLarge() and hb_fsSeekLarge() on Windows.
   - Changed FSEEK() internals to use hb_fsSeekLarge()
     instead of hb_fsSeek()
   - Support for MaxRow/Col(GTI_CLIENT) which gives the currently
     visible screen size.
   - Fixed "List" command (directory content retrieval) in TIP

- xHarbour TIP Class oriented Internet protocol library (TIP)
   - Fixed data storage (STOR) function
   - Better error reporting and documentation in TipTest.prg

- xHarbour DBFCDX
   - Much improved indexing speed
   - Fixed function name in error message
   - Fixed indexing error when created index is empty due
     to the use of FOR or WHILE expression, resulting in
     an empty DBF.
   - New ordFindRec([,]) which works like
     Sx_FindRec() in SIX3
   - New DBOI_EVALSTEP to retrieve information about EVERY value
     for EVAL code block in index command (step of EVAL block).
     dbOrderInfo(DBOI_EVALSTEP) works like Sx_Step() in SIX3 now.
   - 'SET INDEX TO' fixed for more Clipper compatibility
   - FPT uses hb_fsSeekLarge() instead of hb_fsSeek() now
     for long file support (over 2GB).
   - DBF size in xHarbour is now limited by the number of records
     (2^31) if the platform supports long files. DBT maximum size
     is 2^41 (2TB). FPT size is 2^32*memo_block_size (by default
     - 64-bytes blocks - it's 2^38 = 256MB). CDX maximum size is
     limited to 4GB due to compatibility with the CDX format.
   - Fixed counting EOF in ordKeyCount() when moved from EOF position.
   - Opening a corrupted index throws a Runtime Error now.
   - Resolved pending relations in LOCK() method
   - Resolved pending relations in SKIPRAW() method
   - Fixed GOCOLD() method
   - New locking scheme; DBFLOCK_CL53EXT (4) and DBFLOCK_XHB64 (5)
     When using locking scheme 4, a shared locking will be emulated.
     This scheme is very useful with systems that do not have this.
     Although there are no problems with xHarbour, be cautious when
     using this scheme with a Clipper application in a network
     environment. Note that the file size is up to 4GB which makes
     this locking scheme the finest for use with a FAT32 file system.
     It can also be used for DBFNTX and DBFCDX.
     When using long files (bigger than 4GB), use scheme 5. This
     locking scheme does need long file support in OS. Note that it
     does not reduce the size of the file.

- xHarbour DBFNTX
   - Fix in _GOTO()

- xHarbour CT3.lib [ as a separate LIB now ]
   - Fixes in:
      DiskReady() (try to restore the current drive after checking)
      DiskReadyW() (try to restore the current drive after checking)
      DaysOfMonth()
      Week()
      DOY() (with empty date parameter)
      Expand()
      Mod() (to be Clipper/DBASE III compatible)
   - Most of Date/Time functions are rewritten in C for better performance
   - Rewrite of ISLEAP, DAYSINMONTH and QUARTER functions
   - FileValid() has new fifth parameter  to allow
     space in the file name string on non DOS mode.

- xHarbour WVW.LIB
   - New WVW_CBisDropped() function
   - Fixes in: hb_wvw_gtCBProc()

Needless to say this release was made possible by the awesome Contributions,
provided by the unique group of xHarbour's Developers (now counting 50 and
growing). You can learn more about their contributions and/or how to join at
http://www.xHarbour.org/Developers

xHarbour Builder February 2005, is now available from
http://www.xHarbour.com to all current subscribers of xHarbour.com, and for
immediate delivery with new purchases.

Free Demo is also immediately available from http://www.xHarbour.com/DEMO

Thank you for your continued support!
--
Best Regards,

Patrick Mast
xHarbour.com Inc.
http://www.xHarbour.com



Vote for best question.
Score: 0  # Vote:  0
Date Posted: 23-Feb-2005, at 3:56 PM EST
From: Patrick Mast