Project hosted by SourceForge.net
 
 
xHarbour.com
 
Open Source Extended Clipper Language

xHarbour News

2009-03-26

xHarbour Release 1.20.01 for the different platforms are available for download from the download page now.

Here are some of the fixes, and new features offered by Release 1.20.01:

xHarbour Core compiler
  • Fix: TOleAuto was retrieving date-only values incorrectly.
  • Fixed support for GLOBALs in dlls.
  • Added version of hb_vmProcessSymbols() which redirects to b_vmProcessDllSymbols().
    The maindllh module is linked into harbour.dll and will therfore be used to process the self contained RTL symbols as dynamic.
    Any PCODE Dll must also be linked against Harbour.dll (Harbour.lib) and will therefore link to hb_vmProcessSymbols() of harbour.lib:maindllh.obj thus processing the Dll's PCODE symbols as dynamic.
  • Added maindlle.c which uses a version of hb_vmProcessSymbols() which redirects to hb_vmProcessExeSymbols().
    The maindll module is is now linked into dllmain.lib instead of maindllh.c. DllMain.lib should be linked into EXE applications which are staticly linked to harbour.dll by means of harbour.lib. The prg modulues of such EXE should use the native version of hb_vmProcessSymbols() in hvm.c but that version is masked by the maindllh module.
    Linking DllMain.lib (before Harbour.lib) resolves that problem, by linking to hb_vmProcessSymbols() in the maindlle module, which then redirects to the native hb_vmProcessSymbols(). This in turn processes the modules of the EXE as static symbols.
    Please note that in such sample, staticly linked application, UseDll.exe, the dynamic symbols (harbour.dll and optionally PrgPCode.dll) will be processed as dynmaic symbols, while the application defined symbols will be processed as static, and are allowed to OVERRIDE any dynamic symbol loaded from dll (symbols from staticly linked dlls are loaded first).
  • Fixed support for GLOBALs in dlls.
  • Exported and corrected hb_evalBlock0(), hb_evalBlock1() and hb_evalBlock() to use hb_vmsend() instead of hb_vmFunction().
  • Fixed MT initialization.
  • Added missing param to VM_PROCESS_DLL_SYMBOLS. Thanks to Przemyslaw Czerpak in helping find this bug for pcode dlls.
  • Simplification of start-up function generation.
  • Minor format when -gc0: remove unnecessary blank lines and spaces between pcode constants to produce more compact output.
  • Add pragma to disable warning on unused param HB_$INITSYM (for: __ICL ).
  • Fixed bug in C-file generation with -gc3 when PRG file contains GLOBAL variables.
  • Removed support for double letters string containers ['...'] ["..."] and [[...]] as PP now uses E"..." instead.
  • Fixed to not used access(). Using hb_fsFileExists() instead.
  • Fixed the description of -gc3.
  • Exit on compiler internal errors instead of going into an infinite loop.
  • Fixed -es switch to promote all warnings into errors, as per Clipper.
  • Fixed GPF trap introduced by recent fix to codeblock nameless arguments.
  • Added '.' as delimiter when it appears as first character in a token.
  • Added #ifdef FORCE_MEM_STD to allow usage of malloc/realloc/free.
  • Treat '.' as an operator unless specifically valid as a token character.
  • Changed the explicit global namespace' symbolic name from * to global.
  • Added mising fclose() to genc.c.
  • Added auto define __HRB__ when -gh is used.
  • Added support for syntax: EXTERNAL NAMESPACE MEMBER .
  • Added support for syntax: [static] procedure | function implements namedspace .
  • Added support for namespace functions implemented as c code: hb_func_external_namespace( nsid_, ).
  • Added missing handling of ParamList in ExtBlockParams.
  • Restored symbol registration for __DBGENTRY.
  • Added support for namespace function as application startup.
  • Removed the use of HB_StripOutComments() in HB_CompGenClnLineSymbol().
  • Fixed debug info generated for .hrb modules to allow setting breakpoints and running to cursor.
  • Added support for INIT|EXIT procedures in namespaces.
  • More refinements to symbol table management.
  • Fixed codeblock to not interfere with unused vars warning.
  • Fixed END OF BEGIN SEQUENCE to reset FUN_BREAK_CODE.
  • Added aSplice( [, ] [, ] [,] [, ...] [,] ).
  • Added aRemove(), which is an alias to aSplice() to provide Xbase++ compatability.
  • Added aMerge(, [, ] ) => .
  • Fixed .hrb symbol table generation for HB_FS_INITEXIT functions.
  • Corrected hb_vmExplicitStartup() to use symbols_table.
  • Modified YY_INPUT and yy_lex_input() to directly use PP buffer as szLexBuffer.
  • Set YY_BUF_SIZE to 0.
  • Minor fix on hb_compGenCAddProtos() to only declare static function prototype when it is called within the module.
  • Removed unused EmptyStatements.
  • Corrected missing line number generation after any empty line.
  • Corrected missing line number generation for CASE ... and OTHERWISE of DO CASE.
  • Fixed wrong line number when begindump and/or C inline sections preceded by empty line(s).
xHarbour Virtual Machine (VM)
  • Changed hb_xrealloc() to be ANSI-C realloc() compatible.
  • Added hb_stackRDD( void ).
  • Changed hb_errLaunch( PHB_ITEM pError ) in order to return to the code so it's possible to release items in some cases, or continue.
  • Removed unnecesary castings, cleaned warnings and added some simplifications.
  • Restored the use of memory, now to test DL_ALLOC will be explicit with macro -DHB_FM_DL_ALLOC.
  • Fixed warnings when are not defined HB_FM_WIN32_ALLOC.
  • Added alternative memory manager written by Doug Lea.
  • Fixed some remaining bugs in memory functions.
  • Fix redefine with Windows only support. Instead of refedine HB_ATOMIC_INC/DEC, define HB_ATOMIC_INCP/DECP
  • Added heap functions instead of Local ones to test it. Only used under windows platforms it can increase speed. can be tested running speedtst.prg
  • Restore HB_EXPORT qualifier for functions reset by "#undef".
  • Restore HB_EXPORT qualifier for functions not defined in header file.
  • Synched if( fDynLib ) branch of hb_vmRegisterSymbols().
  • Changed hb_itemPutNLen() function to create integer item only when conversion to HB_LONG does not change value of passed double argument.
  • Added hb_retc_null() which is equivalent to hb_retc( NULL ) and will return an empty string.
  • Added C level functions hb_hashId(), hb_arrayId(), hb_memvarGetValueBySym(), hb_vmIsMt() compatible with Harbour.
  • Fixed a possible GPF trap in hb_stackPop().
  • Fixed casting for memcpy and pClass->pFunError - by default it's declared as function address and passing code segment pointer to memcpy is illegal in some OSes so without valid casting such code cannot be compiled.
  • Added __CLS_CNTSHRDATA().
  • Updated function declarations to current CVS.
  • Fixed wrong default initialization for FHANDLE.
  • Added missing HB_EXPORT qualifier.
  • Fixed copied as is from Harbour hb_itemUnShareString() Harbour uses different HVM internals and such code cannot be copied without adopting to xHarbour.
  • Avoid s_pClasses reallocation in MT mode.
  • Minor optimization to fm.c.
  • Minor optimization to fm.c (enhanced speed).
  • Added macro HB_FM_LOCALALLOC to use LocalAlloc instead of HeapAlloc.
  • Removed missing initialization protection for hProcessHeap from maloc/realloc/free macros.
  • Moved call to hb_xinit() from hb_vmInit() to hb_vmProcessSymbols().
  • Added Harbour-compatible C-level class APIs hb_clsCreate(), hb_clsAdd(), hb_clsAssociate().
  • Added startup symbol to hb_stack (it gives very good stop conditions for all procedures which trace stack calls and resolves the problem with hb_stack).
  • Ported Harbour's C-level implementation of ERROR class. This is faster and allows to avoid PCode execution.
  • Fixed missing mutex unlock when HB_RDD_MAX_AREA_NUM is reached in hb_rddSelectFirstAvailable().
  • Changed hb_xinit to return integer for ease initialization on C++ mode.
  • Reverted back C++ mode fixed memory subsystem initialization
  • On hb_vmQuit() -> fixed memory leak on program exit.
  • Avoid s_pClasses reallocation in MT mode.
  • Fixed building on Darwin.
  • Allow base symbol to be STATIC.
  • Hide the hb_stackInit base stack item from PROCNAME().
  • Refactored hb_gcItemRef() so that it works withOUT recursion.
  • Fixed added hb_snprintf as api one needed for dll with PCODE.
  • Disable #pragma warning ... in MinGW builds. If some newer MinGW versions support it and it's useful then it can be enabled after checking MinGW version.
  • Added void hb_clsAddData( USHORT usClassH, const char * szDataName, USHORT uiID ) which adds data access/assign messages.
  • Changed ERROR object to use real datas instead of methods for all instance variables, so the object can be easily serialized.
  • Changed to use hb_vmProcessPrgDllSymbols() for better self describing.
  • hb_vmProcessDllSymbols() -> hb_vmProcessSysDllSymbols()
  • hb_vmProcessExeSymbols() -> hb_vmProcessPrgDllSymbols()
  • Fixed a string buffer overflow.
  • Eliminated hb_snpritf() from HB_IT_POINTER conversion in hb_itemString().
  • Fixed _FIELD indirectly used as alias.
  • Fixed some other possible error object leaks.
  • Added Harbour compatible translations: hb_openProcess() <-> hb_processOpen() and hb_closeProcess() <-> hb_processClose()
  • Assign default value to :filename ivar of ERROR object.
  • Prevents "AEVAL in progress" flag for not to be cleared.
  • Added void hb_clsAddDataInit( USHORT usClassH, const char * szDataName, USHORT uiID, PHB_ITEM pInit ) which adds data access/assign messages with an initial value.
  • Removed references to hb_cdp_page with hb_cdppage() to avoid problems at dll referencing to an external static variable.
  • Added missing support of charset at vfpdbf tables.
  • Added hb_vmSymbolOverloadDefinition() to patch all previously processed symbols, once overloaded definition is processed.
  • Changed SUCCESS by HB_SUCCESS, FAILURE by HB_FAILURE & ERRCODE by HB_ERRCODE.
  • Removed direct access to external static hb_set, to fix problems at DLL.
  • Accept invalid string key expression if codeblock key expression is given when createindex.
  • Fixed memory leak related to debug info of Globals.
  • Missing hb_serviceExit() on Quit which cause memory leak when calling xHarbour service routine
  • Speed improvement and GPF trap using MT in calls to Super methods. Now two threads can call Super methods using the same object without problem.
  • Added support for namespace publishing and consuming to HRB compiled modules.
  • Support for unloading and reloading HRB files that declare classes.
  • Added support to inherit tclass from another class.
  • Added suport for pointer to C function in hb_clsAddMsg() function.
  • Added support for R/T resolution of compilation unit USING NAMESPACE in macros.
  • Added set of hb_arraySet*() functions.
  • Added small logic to force single function definition in prg code, when linker allowed multiple definitions.
  • Added alternate branch controlled by HB_STARTUP_RESERVED_LINK_ORDER to assume last registered module is the correct module of function definition when pultiple modules claims some function defnition as HB_FS_LOCAL.
  • Removed redundant HB_FS_MEMVAR and HB_FS_MESSAGE from runner.c.
  • Added setting of default GT to "WIN" for #if defined (HB_OS_WIN_32).
  • Added setting of default GT to "GUI".
  • Added OS/2 support to LIBLOAD/LIBFREE.
  • Fixed trace in hb_arraySetNInt().
  • Fixed possible memory leaks when corrupted .hrb file is loaded.
  • Fixed symbol name truncation in error message.
  • Resolved pDynSym->pSymbol in the case where no registered symbol has HB_FS_LOCAl attribute.
  • Fixed a long-standing bug in Alt-C handling.
  • Added minor logic to allow default detection of Dynamic modules in hb_vmProcessSymbols().
  • Fixed MSVC casting.
  • Added define SOCKET_ERROR, that is missing in some compilers.
  • Modified STOR method to execute GetReply at Port mode to synchronise ftp responses and not STOP connection.
  • Added high level functions to manage buffers: InetGetSNDBufSize( pSocket ), InetGetRCVBufSize( pSocket ), InetSetSNDBufSize( pSocket, nBufSize ), InetSetRCVBufSize( pSocket, nBufSize ).
  • Fixed errors and warnings under Linux.
  • Moved call to hb_setkeyExit() from hb_conRelease() to hb_vmQuit().
  • Corrected GPF trap by delaying: hb_errExit(); hb_clsReleaseAll(); hb_vmReleaseLocalSymbols(); hb_dynsymRelease(); hb_conRelease(); hb_setRelease(); hb_cdpReleaseAll(); until after last GC activation, incase PRG DESTRUCTORs will be executed.
  • Added hb_clsDisableDestructors() and hb_clsClearAll().
  • Added logic to raise internal error if Destructor encountered after Destructors can no longer be executed.
  • Added hb_memvarsClear().
  • Cleaned hb_vmQuit() shutdown order, and use new: hb_clsDisableDestructors(), hb_clsClearAll(), and hb_memvarsClear() to guarntee that all prg data is cleared before any C subsystem is released.
  • Optimized memory consumption by reducing size of HB_ITEM and HB_CODEBLOCK.
  • Raise RTE if INIT Value or CLASSDATA value is an instance of a class utilizing a Destructor.
  • Further refinment and GPF traps of shutdown sequence in hb_vmQuit().
  • Added member uiVMFlags to HB_VM_STACK and removed uiAction member.
  • Modified hb_stackSetActionRequest()/hb_stackGetActionRequest() to utilize [right 3 bits] of uiVMFlags.
  • Added support for HB_SUSPEND_QUIT to resolve memory leak when error system issues a QUIT.
  • Display Revision as CVS Id when printing logo.
  • Fixed segfault on thread creation after changes to struct hb_struSymbol.
  • Fixed compile error with Borland when using HB_ARRAY_USE_COUNTER_OFF.
  • Fix type conversion volatile HB_STACK * to HB_STACK *.
  • Fixed GPF HB_INET[GS]ET{SND,RCV}BUFSIZE() when wrong socket parameter is passed.
  • Fixed GPF trap if hb_rddShutDown() calls PRG code when no symbol at base of stack.
  • Changed hb_fopen( "error.log", "w") to hb_fopen( "error.log", "a") to preserve an existent "error.log" file, instead create a new one.
  • Changed return value of hb_storclenAdopt, 0 when fails.
  • Added hb_strMatchFile( const char * pszString, const char * szPattern ); that compares two strings using platform dependent rules for file matching.
  • Added hb_strMatchCaseWildExact( const char *szString, const char *szPattern ); that compare two strings using pattern with wildcard (?*) ignoring the case of the characters - pattern have to cover whole string.
  • Added high level function HB_FILEMATCH. similar to WILDMATCH, but work with filenames.
  • Added hb_timeStrGet( const char * szTime, int * piHour, int * piMinutes, int * piSeconds, int * piMSec ); synced with harbour as possible.
  • Fixed GPF in hb_vmReleaseLocalSymbols() when use PCODE in DLL.
  • Fixed hb_clsDeactiveClass() function for modules with more than one class declared.
  • Added call to hb_clsDeactiveClass() function when unload DLL (LibFree()) similar to unload .hrb.
  • Minor protection when Destructor might be called when no symbol is at base of stack.
  • Added hb_clsClearAllClassDatas().
  • Add call to clear class datas before disabling Destructors.
xHarbour Run Time Library (RTL)
  • Added set of new file functions (hb_file*()) which are designed to use with shared file handles and locks: hb_fileExtOpen(), hb_fileCreateTemp(), hb_fileClose(), hb_fileLock(), hb_fileReadAt(), hb_fileWriteAt(), hb_fileTruncAt(), hb_fileSize(), hb_fileCommit(), hb_fileHandle().
  • Added HB_EXPORT BOOL hb_fsTruncAt( HB_FHANDLE hFileHandle, HB_FOFFSET llOffset ), HB_EXPORT ULONG hb_fsReadAt( HB_FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount, HB_FOFFSET llOffset ) and HB_EXPORT ULONG hb_fsWriteAt( HB_FHANDLE hFileHandle, const BYTE * pBuff, ULONG ulCount, HB_FOFFSET llOffset )
  • Fix for MSVC 64-bit C mode startup procedure.
    - removes some warnnings in some compilers.
    - use PHB_FILE and hb_file*() functions instead of HB_FHANDLE (hb_fs*()) to access files.
    - added protection against multiple registering RDD with the same name.
  • Fixed WIN32 HANDLE to integer number conversions in Harbour file API.
  • Fixed F_ERROR and FS_ERROR usage.
  • added support for optional FHANDLE mapped to pointer instead of integer number - disable by default.
  • Fixed return value after RT error.
  • Added rt error as in clipper when OrdKeyVal is greater than 240, with default capabilities as in clipper.
  • Removed RightVisible/LeftVisible assigns. These properties are read only.
  • Fixed LeftDetermine() method to avoid bound error array access if we call o:freeze within a while-end loop.
  • Fixed freeze assign to call setfrozencols() method only.
  • Fixed Setfrozencols() method to avoid display blank row at first/last row after up/down movements when freeze is > 0.
  • Removed duplicated code on drawrow() method.
  • Fixed colsep empty string bug.
  • 'Escape' characters, such & or " were not written correctly in node attribute values
  • Declaration of IID_IClassFactory2 for OpenWatcom.
  • Define MOUSE_WHEELED if not defined (for: __DMC__).
  • Fix MT compilation when -D_HB_API_INTERNAL_.
  • Fixed gpf in hb_gtInfo(HB_GTI_WINTITLE, "").
  • Fixed delete operation under set deleted on/off.
  • Cleanning PellesC errors compilation and warnnings in other compilers.
  • Fixed some SetColor function and ColorSpec data from tget, to be more clipper compatible.
  • Minor changes to CURDIR.
  • Fixed unreferenced HB_FA_POSIX_ATTR on linux build.
  • Fixed CurDir, it could fail in some platforms as vmware.
  • Fixed mouse row/col position detection when mouse event input mask is active.
  • Added function HB_NToS( ) -> . This is equivalent to LTrim( Str( ) ), just faster.
  • Use CP437 for BOX characters when terminal is in UTF-8 mode.
  • set default color before raw scrolling in console emulation mode.
  • Fixed redrawing GPM mouse pointer after screen updating
  • Use XInitThreads() for MT safe thread access when linked with MT HVM.
  • Added optional mutex protection enabled by HB_XWC_XLIB_NEEDLOCKS macro to use when XLib does not support XInitThreads()
  • Removed unnecessary declaration for _POSIX_PATH_MAX.
  • Added HB_DISPBOX() function - works like DISPBOX() bit does not change cursor position and is atomic for other threads.
  • Added HB_DISPOUTAT() which works like DISPOUTAT but does not change cursor position.
  • Added HB_SCROLL() function - it works like SCROLL() but supports 2 additional parameters: color and erase char.
  • Updated new syntax: HB_DumpVar( xVar, lRecursive, nMaxRecursionLevel ) -> cDump.
  • Updated to use __SetClassScope() to unblock access to protected.
  • Implemented optional parameters nStart, nEnd in RAT.
  • Added #define _XOPEN_SOURCE to fix warnings on Unixes.
  • Implemented hb_fsGetAttr() and hb_fsGetFileTime() for DOS, MS-Win, OS2 and *nixes. Please test it on different platforms.
  • Added hb_fsSetFileTime()
  • Added hb_fsSetAttr()
  • Added special IO error handling which works without HVM stack. It allows to use hb_fs*() functions without allocated stack by 3-rd party threads.
  • Added hb_fsNameExists() C level function.
  • Added hb_FNameExists() Harbour level function.
  • Added hb_fsFileExists(). This is the preferred way to check for the existence of a file.
  • Added HB_FILEEXISTS() Harbour level function to check for the existence of a file.
  • Added hb_fsDirExists().
  • Added HB_DIREXISTS()
  • Removed lInErr static variable - it breaks using errorNew() in MT programs.
  • Added ::Out(...) method to class hb_LogConsole().
  • Added hb_LogDbf class to log messages into a dbf.
  • Added METHOD Connections() -> that returns how many connections HB_LogInetPort class is handling.
  • Added METHOD BroadcastMessage( cMessage ) that sends a message to any available connections.
  • Removed lInErr static variable, it breaks using errorNew() in MT programs.
  • Fixed MT compilation.
  • Fixed UNSELECTED color updating in SetColor().
  • Added HB_CDPSELECT() which does the same as HB_SETCODEPAGE(), but aligns well with function naming rules and namespace.
  • Added HB_CDPUNIID( ) -> . This will return the std CP ID of a Harbour CP, or empty if the Harbour CP isn't linked.
  • Removed global code page variable: hb_cdp_page and moved code page settings to HVM stack.
  • Added new function hb_cdpID() which returns current code page character ID
  • Added new functions hb_vmCDP() and hb_vmSetCDP() to get/set active for given thread code page structure
  • Revised setGet functions with the idea to change all references to hb_set with apropiated setGet to avoid problems at dll or api changes at mt mode.
  • Divided __SETCENTURY() PRG function into two functions: __SETCENTURY() and public C function hb_setSetCentury() to manipulate century setting from C code.
  • Added _SET_CODEPAGE which works like _SET_LANGUAGE giving common interface.
  • Added protection against recursive errors in errorsys.
  • Fixed reset of display content after the focus was lost when "@S" is used.
  • Fixed SetStyle() method in TBrowse.
  • Created new style access to return ::aStyle data.
  • Created the new "@L" picture to scroll number from right to left direction as a calculator.
  • Created the new @2 and @4 pictures to force get date with 2 or 4 digits on year format, independent of set century.
  • Fixed buffer content after DEL operation under @L picture.
  • Fixed dbSkip() method to return 0 when SkipBlock is null.
  • Fixed VarGet() method to assign proper mask when numeric get has chars other than numbers.
  • Fixed VarGet() method to assign proper mask when numeric get has chars other than numbers.
  • Minor fix on InitCache() method to initialize ::nMaxRow property.
  • Fixed RTL in HBEditor():DelTextSelection() when last line of text is deleted by Shift + Down Arrow.
  • Added hb_dateMilliSeconds().
  • Use hb_dateMilliSeconds() to avoid using clock_t clock().
  • New SET value named _SET_EOF. Defaults to false on Un*x but defaults to true on everything else.
  • Removed setting of default GT for #if defined(HB_OS_WIN32).
  • Added additional logic to hb_gtStartupInit() to default tofirst/last registered GT if no default found earlier.
  • Added additional logic to hb_gtStartupInit() to default to "NUL" if no default found earlier.
  • Fixed broken MaxRow( .T. ).
  • Added new GT driver - it's terminal driver like GTCRS and GTSLN but it does not use any external library like [N]CURSES or SLANG so it can be compiled in nearly all POSIX systems.
  • Updated GTALLEG for the new GT API.
  • Fixed SETLASTKEY() double definition. Now the CT function is called SETLASTKEY() and RTL function is called HB_SETLASTKEY.
  • Reinstated default of "win" to s_defaultGT, as it doesn't conflict with additional default setting options.
  • Made hb_gt_FindDefault() public, so that it's possible to find if default has been explicly set.
  • Fixed screen buffer corruption on little-endian platforms in hb_gt_def_ColdArea().
  • Fixed HB_NOMOUSE() feature.
  • Added SetDefaultPrinter( cPrinter ) under windows environment.
  • Fixed some compiler casting in tprinter.c.
  • Fixed support for doubles, byref doubles.
  • Added support for byref pointers.
  • Fixed unicode values for control codes in default CP437 unicode table.
  • Fixed CP string translation for CPs with accented equal characters.
  • Added hb_setGetL(), hb_setGetCPtr(), hb_setGetNI(), hb_setGetNL().
  • Added support for VT_ERROR type, by means of VTWrapper() class.
  • Added support for default arguments by means of OLE_DEFAULT_ARG macro or OleDefaultArg().
  • Cleaned up direct access to xxxxx->item.asxxxxx.xxxx and now using direct api.
  • Fixed argument validation.
  • Reverted hack in hb_gt_def_Alert()/Alert() to center based on visible screen.
  • Fixed a memory leak on MLCOUNT().
  • Fixed a memory leak on HB_ReadLine().
  • Fixed bug in a filtered table
  • GetCellColor(), PerformInvalidation() and Invalidate() methods was moved to default form, instead uses INLINE statement.
  • Moved ::nLastRow, ::nCurRow and ::nMaxRow vars to HIDDEN.
  • Created CurRow and LastRow ACCESS/ASSIGN.
  • Fixed GPF on K_CTRL_V paste from clipboard.
  • Fixed hb_ConOut() to show ".T." | ".F." at logical items for console/print/alt devices.
  • Changed Tbrowse class declaration for Clipper compatibility.
  • Changed TBrowse():New() syntax to TBrowseNew().
  • Fixed colorrect behaviour in TBrowse.
  • Fixed declaration of blockeval function under linux.
  • Fixed to show colors properly (Alert).
  • Fixed tumbpos() function (Scrollbar).
  • Fix on Colorrect and general class improvements (TBrowse).
  • Added function TTOD( ) ->
  • Fix to update cell content after changed on indexed area in TBrowse.
  • Minor syntax correction on ::oCache:Invalidate() calls.
  • Fixed DE_HITTOP, DE_HITBOTTOM and DE_EMPTY mode.
  • Fixed to call dbgobottom() if database is on eof at init.
  • Fixed function CURDIR() to return empty string on non-ready drives.
  • Fixed Linux Mandriva 2008.1 compilation.
  • Added HB_COMPAT_FOXPRO as necesary to separate in diferent RDD non compatible features.
  • Fixed dbe_CallUDF() function to repos row properly when seek/delete or append blank command is performed from UDF.
  • Fixed setrowpos(), stabilize() and syncdata() methods to work properly after append blank and/or many up/down movements before stabilize./li>
  • GetParagraph(): fixed bound error and added error checking on nRow.
  • Removed memoline(), mlcount() and mlpos() functions from txtline.c
  • Fixed to refresh achoice's content after adding an item from a udf.
  • Fixed some achoice's mode values passed to udf.
  • Fixed to call udf only one time by each loop.
  • HB_FUNC( MEMOLINE ) added back. Optional 7th parameter which is the start position in the string to search from.
  • Added missing lines in hb_gt_def_info().
  • Removed mlctopos.c and mpostolc.c.
xHarbour Preprocessor
  • Initialize PHB_PP_TOKEN pToken (line 429) before used.
  • Added hb_setGetDirSeparator().
  • Added missing #undef HB_VER_L_USR in generated hbverbld.h file.
  • Added auto #define __NAMESPACE__.
  • Corrected line number for #pragma BEGINDUMP...ENDDUMP.
  • Corrected line number when -P switch used.
xHarbour RDD
  • Fixed ring buffer initialization in Sx_Compress().
  • Added DBSELECTAREA(), DBSTRUCT(), HEADER(), RECSIZE(), LUPDATE().
  • Added fix for problem with EVAL block used in PACK command.
  • Fixed error in SDF RDD read mode.
  • Fixed bug in joined leaf pages size calculation which activated error massage enabled by HB_CDX_DBGCODE_EXT macro.
  • Added ORDLSTDELETE() method. Now ordbagClear() should work for DBFCDX.
  • Added dbfnsx rdd form Prezmek harbour's version.
  • Fixed OrdBagName, it returned to extension.
  • Fixed a syntax error in HB_TRACE() call.
  • Added missing functions BlobImport and BlobExport, they was called DbFilePut and DbFileGet.
  • Added missing support to change CPpage from workarea, now is possible to use DbInfo( DBI_CPID [, ] ).
  • Added .prg function to create temporary files: hb_dbCreateTemp( , , , , ).
  • Added hb_rddCreateTableTemp() C function to create temporary table which are automatically deleted on close. All indexes and memo files for such tables are also in temporary files and automatically deleted on close.
  • fixed DBRELATION() called without numeric parameters or with 0 to return first relation expression (Clipper compatible).
  • Always restore current workarea in WA EVAL() method.
  • Always use EVAL() method for user codeblocks and macros.
  • Added ulConnect as 4th parameter, it can be usefull at REMOTE rdd LETO, ADS, ADORDD, SQLRDD.
  • Fixed casting for indexes with key length greater then 196 bytes created on tables with record number smaller then 256.
  • Changed some SHORT to INT to reduce runtime overhead.
  • Optimized the use of HB_SYMBOL_UNUSED.
  • Adding HB_COMPAT_FOXPRO as necessary to separate in different RDD non compatible features.
xHarbour DBFCDX
  • Fixed BM_SetArrayFilter, to generate filter from array of recnos.
  • Fixed possible GPF caused by missing RT error.
  • Added RT errors for invalid KEY or FOR expressions.
  • Fixed casting for indexes with key length greater then 196 bytes created on tables with record number smaller then 256.
  • Changed some SHORT to INT to reduce runtime overhead.
  • Fixed to not respect bitmap filters when structural order is scanned, f.e. in OrdListAdd() with active bitmap filter.
xHarbour DBFNTX
  • Fixed possible GPF caused by corrupted indexes.
  • Added support for temporary tables in native RDDs.
  • Fixed dirty index reading.
  • Use memcpy() instead of hb_strncpy() to avoid problems when there is no place for tailing 0.
xHarbour RDDADS
  • ADSMGGETWORKERTHREADACTIVITY() and ADSMGGETUSERNAMES() that was skipping first user. Borrowed from Harbour.
  • Added support for ADS_USE_OEM_TRANSLATION for old ads versions.
  • Optimized current key decoding in dbfnsx.
  • Added ADSMGGetOpenTables() and ADSMGGetOpenIndexes().
  • Added some functions for Ads9 protected by ADS_REQUIRE_VERSION >=9.
  • Added ADSDDCREATELINK(),ADSDDMODIFYLINK() and ADSDDDROPLINK() functions protected by ADS_REQUIRE_VERSION >=9.
  • Added ADSCREATESAVEPOINT(),ADSROLLBACKSAVEPOINT() functions protected by ADS_REQUIRE_VERSION >=8.
  • Added AdsIsEmpty(). Pass as it's only param either a string with the field name or the numeric with the field position. With .adt tables will return TRUE if value of the field is a NULL. With .dbf there are no null values so it just equivalent to empty().
  • Minor cleanup and protection against possible strange results caused by indexes without tags.
  • Fix for MSVC 64-bit C mode startup procedure.
xHarbour GTWVT.LIB
  • Changed return type to const char * in function hb_gt_wvt_Version().
  • Changed parameters type to const char * in function.
  • Changed parameters type to const char * in function.
xHarbour TIP.LIB
  • Fixed methos filesize, since was returning wrong info in ftp.
  • Sendmail should be faster now on sending large emails with attached and added ntimeout parameter to control timeout of sendmail functions.
  • Added methods set/get to interrogate buffer size send/recive: METHOD InetRcvBufSize( SocketCon, nSizeBuff ), METHOD InetSndBufSize( SocketCon, nSizeBuff ).
  • Added data members to assign default buffer sizes: DATA nDefaultRcvBuffSize, DATA nDefaultSndBuffSize.
  • Assigned default buffer size to 64kb only for FTP transfer, previous to open sockets: ::nDefaultSndBuffSize := 65536, ::nDefaultRcvBuffSize := 65536.
xHarbour CT.LIB
  • Added CT3 like Window System, it's a GT driver which inherits from the existing one and adds CTW functionality.
  • Added FileCDati().
  • Fixed SetFDati() for Win32 platform.
  • Synched with miscellaneous Harbour small fixes.
xHarbour USRRDD.LIB
  • Added: ADO_FORCEREL( nWA ), ADO_RELEVAL( nWA, aRelInfo ), ADO_EXISTS( nRdd, cTable, cIndex, ulConnect ), ADO_DROP( nRdd, cTable, cIndex, ulConnect ).
xHarbour ADORDD
  • Added ADO_FIND.
 
   
© 2017 xHarbour.org. All rights reserved.
Contact us | Terms of Use Agreement
xHarbour.ORG is maintained by Enrico Maria Giordano
Internet services kindly provided by Bekz.net