Revised build July 2013
=====================
* Fix: XBrowse.prg: Destroy() method of TXBrowse class now releases refernces
to recordset and other similar objects by setting their references to nil.
* Fix: DataRow.prg: TDataRow class now releases refernces to recordset and
other similar objects by setting their references to nil while exiting.
* Fix: Class TImage still required some changes for FWH 64 bits. Now it is ok.
Print Preview on 64 bits properly exports to PDFs.
* Fix: Class TButtonBmp was not checking if the supplied bitmap name is an
empty string. Now it is ok:
viewtopic.php?p=149268#p149268* Fix: datarow.prg: Method End() results in runtime error with Harbour. Fixed
* Enhancement: FW_OpenRecordSet(...): Improved to open persistently saved recordsets
Syntax: FW_OpenRecordSet( nil, cFileName )
Not necessary but better FW_OpenRecordSet( nil, cFileName, nil, nil, nil, adCmdFile )
* Fix: There was a bug in samples/fivedbu.prg on Memo editing, now it is ok.
You can download the more recent FiveDBU from here:
https://code.google.com/p/fivewin-contr ... 130803.zip * Fix: Print Preview send as email feature is properly working now. There was a bug
when creating the attached file name of the PDF. Thanks to Lucas!
* XBrowse.prg: While browsing a recordset opened with adLockBatchOptimistic, the browse stays
stable even if connection to server is lost. Any edits during the browse are not saved to the
Server. After exiting from the browse, programmer has to update the changes by calling
oRs:UpdateBatch() in TRY..CATCH block.
* New DATA XBrowse: lFullGrid (default .f. ). If set to .t. horizontal grid lines are drawn
completely till right and till bottom even when there is not enough data.
* Enhancement: ButtonBmp: Tooltip can be specified in the command. Valid bitmap handle also can
be specified in the BITMAP clause
* XBrowse: New Method GoToCol( oCol ) --> lSuccess. The parameter oCol can be a column object,
or nCreationOrder or Header of the column. Cursor is repositioned on the column selected. If the
column is outside display area, the column is brought into the display area. The method does not
succeed when the column is hidden or freeed columns themselves occupy the entire display.
This method may be used instead of SelectCol() for repositioning the cursor.
* XBrowse: New DATA lSortDescend ( default .t. ). If set to .F., toggling to descend sort is disabled.
* New: New DATA bToExcel in TReport class. If specified this bToExcel is evaluated instead of the
builtin method to export to excel
* XBrowse: Inconsistencies in painting row color to the right of the last data column betwen
drawline() and paint() methods is fixed.
* New: samples/bmptoc.prg and curtoc.prg create the C source code for bitmaps and cursors, in
case that you want to store them in your code.
* New: Print Preview no longer needs the prev...DLL. All the preview resources have been ported
to C code.
* New: We have implemented a new FWH strings API to provide internationalization at runtime,
and that you can also use to provide internationalization to your own apps too:
The Strings API functions are:
1. FWSetLanguage( nNewLanguage ) // sets the language to use at rumtime
2. FWString( "my string" ) // searches for "my string" translation and returns it
3. FWMissingStrings() // generates the source code for the missing strings to translate
By default the language is automatically set to the HB_LangSelect(), if the program has
already set HB_LangSelect() our functions adopt the same language by default
User can add a new language using FWAddLanguage( aTranslates ), for example if you want to
add whatever language (not unicode), you have to build an array with your language translates
for the same words used in strins api and call FWAddLanguage( aTranslates ) then onwards the
system uses the new language translates.
Using the function FWAddString( aString ) you can add your own strings at runtime.
* Enhancement: function ShellExecute() has been ported to C language, so now it properly
works on FWH 64 bits too.