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

xHarbour News

2007-11-06

xHarbour Release 1.0.0 Beta 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.0.0 Beta:

xHarbour Core compiler
  • Added -roff to the compiler. This parameter turns off detection of reserved words.
  • Fixed GPF in function HB_CODETRACE_FUNC(hb_p_seqbegin).
  • Fixed loading of system defines to precede processing of user defined rules.
  • Added support for new UTILITY [STATIC] FUNCTION|PROCEDURE syntax.
  • Standarized and improved HB_P_[SET]LOCANEAR* support.
  • Added HB_P_[PUSH]LOCALNEARINC and HB_P_[PUSH]LOCALNEARDEC to poptimize += 1 and -= 1.
  • Updated hb_vmProcessSymbols() as per recent change.
  • Removed two redundant assignments to function hb_compCompile().
  • Fixed a segfault (double free) when compiling debug info for codeblocks with detached locals.
  • Fixed EXIT and LOOP inside WITH OBJECT / END statement now resets WITH OBJECT state.
  • Fixed a very old typo leading to segfault when processing inline C code.
  • Fixed EXIT and LOOP inside WITH OBJECT / END statement now resets WITH OBJECT state.
  • Fixed EXIT and LOOP can't be used inside FINALLY block of TRY statemen.
  • Fixed problem with FINALLY which can't be used in TRY/CATCH statement when CATCH code has LOOP or EXIT statements.
  • Fixed problem when using LOOP inside SWITCH/CASE.../END statement leaving dummy value on HVM stack. Repeated in a loop allocates whole system memory for growing up HVM stack.
  • Fixed SWITCH/CASE.../END statement which doesn't allow using EXIT inside WHILE. Repeated in a loop allocates whole system memory for growing up HVM stack and exceptions list.
  • Moved PARAMATERS rule into Statament.
  • Use hb_compGetDebugInfo() to collect stopline info for debugger after all optimizations instead of collecting it dynamically and not respecting optimizations.
  • Fixed compiler segfault when generating debug info after a "Misplaced GLOBAL declaration" error.
xHarbour Virtual Machine (VM)
  • Added support for hash keys containing CHR(0).
  • Changed UnhandledExceptionFilter() to hb_UnhandledExceptionFilter().
  • Changed default hb_macroCompile() context to HB_MACRO_GEN_LIST | HB_MACRO_GEN_PAGE.
  • Corrected possible GPF trap f.e. when VM is loaded as a stand alone DLL.
  • Modified HB_BASEARRAY structure (added uiDestroyed member).
  • Fixed double execution of destructor recursive (hb_arrayReleaseGarbage() and hb_arrayReleaseBase()).
  • Fixed double execution of destructor non-recursive in the same execution of GC.
  • Minor optimization of classes.c and arrays.c.
  • Optimization of With Object accessing Datas.
  • Added Harbour compatible hb_itemGetPtrGC().
  • Added Harbour compatible hb_gcFunc().
  • Fixed GPF trap in hb_vmPushDynSytm().
  • Simplified HB_APARAMS to use new hb_stackGetBase().
  • Added hb_stackgetBase().
  • Simplified HB_QSELF() and HB_RESTOREBLOCK() to use new hb_stackGetBase().
  • Reverted silly factorization of HB_QSELF().
  • Added argument validation and error reporting for hb_arrayfromParams().
  • Added suppport for to HB_APARAMS() - default is 0.
  • Added argument validation and error reporting for HB_APARAMS()
  • Fix bug in hb_vmSubDate() for operation as Date() - 1.0.
  • Optimized prg function call speed by avoiding pGlobals argument to hb_vmExecute().
  • ptimized memory usage.
  • Changed HB_PCODE_VER to 8.
  • Converted pDynSy * of HB_SYMB to a NAMELESS union of pDynSy and ppModuleSymbols.
  • hb_vmProcessSymbols() now returns the Symbole Table Container (PSYMBOLS).
  • hb_[x]vmPushBlock[short] takes 2 less arguments pSymbols and pGlobals.
  • hb_vmDoBlock() has minor overhead to force correct module context of codeblock instead of more frequently executed hb_pushSymbol().
  • hb_vmRegisterSymbols() will now detect and warn registed public function which was eliminated by linker due to same symbol in prior module.
  • Extended HB_SaveBlock()/HB_RestoreBlock() functionality to support save/restore in different compilation modulles.
  • Add redundant hb_objGetClass().
  • Added hb_itemPutDate().
  • Minor optimazations to item API.
  • Fixed HB_Exec() building wrong execution stack for hb_vmDo() / hb_vmSend().
  • Added apparant missing break statement to eliminate infinit loop on "timeout" error in inet.c.
  • Minor simplification in ToUpper logic.
  • Store cloned symbol of execution function with szName modified to Message Name in classes.
  • Simplified execution context in hb_vmSend() by using cloned symbol of the method.
  • Added missing operator overloading support in hb_vmArrayPushRef().
  • Optimized, and added compatibility with some other functions as SELECT that needs ignore spaces after name in hb_dynsymFindName( const char * szName ).
  • Fix error using ERROR HANDLER method in MT program.
  • Add funcion hb_xautorelease( void *) to set a memory block to auto release at the end of program and avoid memory leak report.
  • Fixed GPF trap when accessing freed memory in destructor).
  • Fixed GPF trap due to typo in hb_xexit() related to uiAutoRelease.
  • Raise error on attempt to assign cyclic reference to local or static var.
  • Fixed error (Undefined symbol 'pModuleSymbols') and warning (Parameter 'pGlobals' is never used).
  • Simplified HVM <-> debugger interface.
  • Fixed support for nested macros in hb_macroGetValue().
  • Fixed support for nested macros in hb_macroGetValue().
  • Accept :: in expressions inside debugger.
xHarbour Run Time Library (RTL)
  • Fixed setting of cClass in gatherMethods().
  • Minor optimization for __ClsCntClasses().
  • Fixed ParsePict() method to avoid replacing commas by spaces in pictures like @Z 99,999.99.
  • Fixed GetApplyKey() method in 'tgetlist.prg' to set ::changed to true when the combination dot + enter is pressed in number get.
  • Fixed HitTest() method to return HTCELL from first row.
  • Fixed ParsePict() method to protect ::lCleanZero value.
  • Fixed 'alert.prg' to use CT windows fucntions to display alert box.
  • Added ::cOrigPicture to store original picture supplied by users in 'tget.prg'.
  • Fixed SetPicture() method to allow change change picture on the fly in 'tget.prg'.
  • Fixed ParsePict() method to assign default picture if not specified when get value is a numeric.
  • Added arguments verification to "achoice.prg"
  • Changed "achoide.prg" so by default, zero is assigned to nTop, nLeft, nBottom and nRight.
  • Changed _douserfunc() to improve speed initialization and navigation.
  • Assigned default argument values to DefColorOK() static function.
  • Fixed Configure() and FillRow() methods to save/restore cursor position before or after TBColumn evaluation.
  • Fixed acMenuItems parameter verification in "achoice.prg".
  • Fixed alSelectTableItems parameter verification.
  • Fixed _dosuserfunc() to trap K_ENTER and K_ESC keys when present in the keyboard buffer at dbedit initialisation.
  • Added new feature to cUserFunc. Specifying false for this argument, dbedit displays data and immediately terminates.
  • Fixed init of datasource properly when another workarea is selected at TBrowse init.
  • Changed HB_SET_APPENDERROR = TRUE by default to generate the error.log in append mode instead of creating a new one for each runtime error.
  • Added more info to the header session (netname(), disktotal(), diskfree(), diskname() and curdir()).
  • Minor changes in lay-out to improve readability.
  • Errorlogs are in descending order (last error is the first on top).
  • Changed STRValue() to return ".T."/".F." instead of "True"/"False".
  • Use GetLocalTime() when HB_OS_WIN_32 is defined.
  • Fixed "@B" picture behaviour as reported from xharbour-dev's list.
  • Added function hb_getSaveAll() which saves whole screen from inside a CT window.
  • Fixed hb_ctShadow() in order to draw shadow attribute CA-Tools compatible.
  • Added hb_gt_SetAttributeCT() which is needed to draw shadow attributes that are CA-Tools compatible.
  • Moved constants shared with PRG code to hbdll.ch.
  • Added support for Long/Int/Bool by reference.
  • Added validation and error reporting to DLLPREPARECALL().
  • Added save/restore of ESP in MSVC branch of DynaCall() to avoid GPF.
  • Fixed pushing pArg to not dereference.
  • Added validation of DynaCall() by means of getLastError().
  • Added support for cyclic arrays.
  • Simplified cyclic detection.
  • mproved format of ValToPrg() arrays and objects representation.
  • Corrected static HB_FUNC( ... ) to HB_FUNC_STATIC( ... ).
  • Object representation of ValToPrg() to be compilable.
  • support for HB_ISDATETIME() function.
  • Added picture "@Sn" if the width of the char field is larger than the browse column.
  • Fixed browse performance under index operation.
  • Fixed memo edit window minimum coordinates.
  • Fixed to call RLock()/dbUnLock() if database is in shared mode in 'browse.prg'.
  • Fixed append mode when K_DOWN or K_PGDN key is pressed after last row.
  • Fixed K_CTRL_PGDN to not set append mode.
  • Added optional 4th argument to ValToPrgExp() (default is .F.) to request binary representation for strings.
  • Fixed memory leak in 'inkey.c'.
  • Changed call to hb_itemGetC() by hb_itemGetCPtr().
  • Fixed bug reported in "@X" and "@C" pictures.
  • Fixed missing method Array:Init().
  • Removed old code for hbobject class definition.
  • Fixed "@Sn" pict behaviour when "n" is larger than get width in TGet.
  • Fixed "@X", "@C", "@(" and "@)" pictures behaviour in TGet.
  • METHOD Reset() reverted to METHOD instead PROCEDURE (TGet).
  • Some changes to be more Clipper compatible.
  • Changed && => & for FIXED_PITCH and TRUETYPE_FONTTYPE in FontEnumCallBack().
  • fixed bug in static function IsDb() to work properly when an array is used as datasource and exist workareas in use.
  • Fixed hb_getDefaultPrinter to return correctly on Windows XP/2003.
  • hb_GetDefaultPrinter() changed to get correct default printer on all Windows versions.
  • Restored Clipper compatibility in achoice: stop RTL error if is =NIL, ={} or not array type. Just return 0.
  • Changed HB_FUNC( STOD ) to support strings passed longer than 8 char.
  • hb_dateStrGet() supports date strings "YYYYMMDD" passed longer than 8 char.
  • Added K_CTRL_N back into ::aConfigurableKeys in MemoInit() for Clipper compatibility.
  • Changed HB_FUNC(STOD) to support strings passed longer than 8 chars.
  • Added K_CTRL_N back into ::aConfigurableKeys in MemoInit() for Clipper compatibility.
  • Fixed to not display "CR" at zero value in "@C" picture. For example: transform(0, "@C 9.99").
  • Fixed ::aSetStyle array size as declared in tbrowse.ch.
  • Added AddStyle() method to allow add more custom styles defined by user.
  • Disabled oGet:DelEnd() in GetApplyKey() to not clear the get buffer when postblock returns .F..
  • Fixed bug in Str() function. It ignored 2nd and 3rd parameter when the 4th exists.
  • Fixed bug in Str( , [], [], [] ) where the 2nd and 3rd parameter were ignored when the 4th exists.
  • Fix to transform int64 numbers.
  • hb_diskspace will accept a numeric parameter.
  • Clipper compatability of $ (hb_strAt) when left argument is of length 0.
  • Fixed TBrowse which displayed 2 rows when browsing empty database.
  • Fixed :EndPage() description on header (lFinisih -> lStartNewPage).
  • Fixed GPF in transform due to side effect in correction to Transform(0.80, ".9999")
  • Fixed hb_retcAdopt(), hb_retclenAdopt(), hb_retclenAdoptRaw() and hb_retclenStatic() when szText is NULL.
  • Fixed SetStyle() method to allow add user styles in TBrowse.
  • Removed AddStyle() methodi in TBrowse.
  • Fixed to not display get value at right area of an object, when the get is an object (f.e. a listbox).
  • Fixed to display get caption only when the get is not an object.
  • Fixed SetCaption(xData) method to display caption at CapCol and CapRow coordinates properly.
  • Restored original style character "" for Windows platform.
  • Reactivated mouse to allow access listboxes and checkboxes by click.
  • Minor fix to 6th parameter in MLCToPos.
  • Use HB_ArrayID() when scanning aObjs to avoid possible overloading of ==.
  • Added explcit implemetations of ::Invoke(), ::Get(), and ::Set() instead of redirection to OnError.
  • Added Xbase++ compatible MESSAGEs ::CallMethod(), ::GetProperty (), and ::SetProperty().
  • Reverted Text2Array() function to sync with old __StrTkPtr() function.
  • Minor fix on display() method to hide "CR" after type 0 in a numeric get with "@C" picture.
  • Created HB_GetList:lInvalid property to control postblock return.
  • Fixed get value and adjust buffer content when postblock returns false.
  • Changed GetApplyKey() to deny type minus sign more than once time when get type is numeric.
  • Created listbox for user errorlog editor (edit or notepad) for Windows OS. The default is edit.
  • Changed BuildLangArray() function to reorganize the s_aLangMessages array for easy number identification.
  • Updated showhelp() function content.
  • Fixed RTE in tgetlist.
  • Fixed PageUp() method in TBrowse that in any circumstance doesn't display the color defined in the ColorRect() method.
  • Added missing support for mouse wheel events.
  • Fixed IsDb() static function.
  • Fixed IsDb() function to scan all workareas.
  • Fixed ParsePict() method to toggle mask to uppercase only if the character is a template character like "ALNXY".
xHarbour Preprocessor
  • Fixed comments like /*/*/
  • Corrected hb_pp_tokenCanStartExp() to return FALSE for inline seperator ';'.
  • Synchronised with some Harbour modifications.
  • Improved HB_PP_ERR_UNKNOWN_RESULT_MARKER and HB_PP_ERR_WRONG_LABEL to provide more details.
  • Added logic to break '<<' into two tokens ('<' '<') when prefixed by escape '\' in #directives.
  • Corrected #[x]untranslate/[x]uncommand to work as documented.
  • Corrected usage of #[x]untranslate.
  • Added support for #pragma push ... and #pragma pop ...
  • Fixed MinGW cross-compiler detection under Debian and its derivatives.
  • Fixed ppgen operation when cross-compiling.
  • Line numbering adjustment for extended codeblocks.
  • Workaround for spacing problem in revertion of [...] into literal string after tokenization as array index.
xHarbour RDD
  • Fixed GPF in hb_dbfRecInfo() where uiInfoType == DBRI_RAWDATA || DBRI_RAWMEMOS.
  • Added default value to TimeStamp fields (automatically added).
  • Update NetErr() in ordListAdd(). Synched with Harbour.
  • Change of the behavior of DbUseArea opening so that one behaves like in Clipper. When opening fails, the previous area isn't recovered.
  • Removed all explicit NETERR settings.
  • Changed ordListAdd() and dbSetIndex() so they return a logical value based on the success of the function.
  • Changed hb_rddOpenTable() / hb_rddCreateTable() to make dbUseArea() / dbCreate() more Clipper compatible.
  • Fixed GPF when NULL lpaParent or lpaChild was used in DBRELINFO structure.
  • Fixed initialisation of DBRELINFO dbSetRelation().
  • Added support to fieldtype G (OLE / General). The number is stored as a string, right justified and padded with blanks.
  • Re-enabled by default strict clipper compatible behavior for code Select(), dbSelectArea() and alias allocating synced with Harbour.
  • Added DBI_ISENCRYPTED for tables encrypted by SIX3 synced with Harbour.
  • Fixed SELECT( "" ) which caused GPF for incorrect alias in dbcmd.c.
  • Support date strings "yyyymmdd" passed longer than 8 chars.
  • Added RTE when someone tries to create DBF with more then 2046 fields (without it, corrupted files were created or a GPF was thrown).
  • Fix to accept " " as valid string at headsep and footsep.
  • Fixed compile error in MT mode with HB_API_MACROS and HB_STACK_MACROS
xHarbour DBFCDX
  • Added support for DBORDERINFO(DBOI_ISMULTITAG).
  • Modified to admit DBOI_KEYDELETE and DBOI_KEYADD ignoring the FOR clause that does not have meaning in customer index.
xHarbour DBFNTX
  • Fix hb_rddInherit call from BYTE to const CHAR.
  • Changed CHAR to const CHAR in: hb_dynsymGet(), hb_dynsymGetCase(), hb_dynsymFind(), hb_dynsymGetSymbol(), hb_dynsymFindSymbol(), hb_dynsymGet_r(), hb_dynsymGetCase_r(), hb_dynsymFind_r() and hb_dynsymFindName_r().
  • Moved static variables holding RDDI_* settings to RDDNODE data so they can be set separately for each RDD which inherits from DBFNTX synced with harbour.
xHarbour RDDADS
  • Fixed the second argument of AdsDDDeleteUser.
  • Added missing ADSDDRemoveIndexFile() function.
  • Change direct access of HB_Set to use HB_GetSetStructPtr().
  • Sync'ed with Harbour to bring in new commonError() and miscellaneous error handling; fixed neterr() not being set to TRUE.
xHarbour ADORDD
  • Added user RDD ADORDD borrowed from harbour with few changes.
  • Minor syntax corrections.
xHarbour TIP.LIB
  • Added HTTP_RAW_POST_DATA which returns raw post data necessary to process the W3C xforms standard.
  • Changed ::Header() in 'cgi.prg' to use a simple string as parameter.
  • Improved check for parameters and defaults, and for tags and options processing.
  • Added static function DataToGMT() and cookie expiration logic.
  • Minor fix on problems when sending secure login to email server.
  • Adapted all :new() method(s) so that tIPClient becomes the abstract super class for tIPClientFtp, tIPClientHttp, tIPClientPop and tIPClientSmtp.
  • Added method :INetErrorDesc().
  • Added method :lastErrorCode().
  • Added method :lastErrorMessage().
  • Removed method :data() since it calls an undeclared method :getOk().
  • Added missing FTP functionalities: rmd(), listFiles() and mput().
  • Changed method :downloadFile() and :uploadFile() to enable display of download progress.
  • Added function tIP_GetEncoder()
  • Added high level methods to easily (de)compose an eMail with file attachments.
  • Added methods: setHeader(), :attachFile(), :detachFile(), :getFileName(), :isMultiPart, :getMultiParts().
  • Added methods :countMail() and :retrieveAll() for easy eMail retrieval.
  • Added new method :sendMail() to work with tIPMail objects.
  • Added new HTML classes: THtmlDocument(), THtmlIterator(), THtmlIteratorScan(), THtmlIteratorRegEx() and THtmlNode().
  • Added new HTML functions: AnsiToHtml(), HtmlToAnsi(), HtmlToOem(), OemToHtml(), THtmlCleanup(), THtmlInit(), THtmlIsValid().
  • Added method :pwd() to FTP client.
  • Fixed compilation in case-sensitive filesystems (thtml.prg).
  • Added support for Cargo variable.
  • Added data ::nWrite to work like ::nRead for upload stream.
  • Added method ::UserCommand() that permit users sent custom commands.
  • Addes support to PORT transfer mode, alternative to PASV transfer mode. When :bUsePasv is false, PORT mode will be used.
  • Added methods NoOp(), Rest(), Port() and SendPort();
  • Fixed return values from -1 to .F. in method UploadFile() when it was failing.
  • Fixed METHOD Stor() in class tIPClientFTP.
  • Method StartCleanLogFile() starts a new log file and overwrites the old.
  • Method FileSize() calculates the file size of the given file specifications.
  • Fixed logfilename in New() so it isn't limited to 9999.
  • Added HB_SendMail() and HB_SetMimeType().
  • Added two missing parameters that control smtp authentication
xHarbour CT.LIB
  • Changed BOM()/EOM(), BOQ()/EOQ(), BOY()/EOY() and WOM() functions to use the system date if dDate is omitted.
  • Fixed bug to filesize error that was returning incorrect values for files with >2GB filesize.
xHarbour GTWVT.LIB
  • Added a few more winapi constants.
  • Fixes in Wvt_DrawScrollThumbHorz() and Wvt_DrawScrollThumbVert().
  • Added few more methods and changed the behavior of SetKey().
  • Bug fix in Wvt_SaveFileName() and Wvt_OpenFileName().
  • Functionality to open window shifted from hb_wvt_gtCreateWindow() to hb_gtInit().
xHarbour GTWVW.LIB
  • Fix wrong handling of HB_ITEM causing memory leak.
  • Support native EDITBOX.
 
   
© 2007 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