| ANN: New xHarbour Builder release. (Feb2005) |
|
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
|