December 2016
=============
* Enhancement: function MsgDate() increased used font:
viewtopic.php?p=196570#p196570
* Enhancement: samples\design.prg now support bitmaps controls too:
viewtopic.php?p=196228#p196228
* Enhancement: Class TBitmap Method cGenPRG() was missing.
* Fix: Classes TSay and TGet Method cGenPrg() were not using the
supplied parameter lDlgUnits. Now it is ok:
viewtopic.php?p=196242#p196242
* Enhancement: datarow.prg: Default dialog displays prompts fully
when the prompts contain CRLF.
* Enhancements: TPanel.prg: Now resizeable image brushes and
gradient brushes also work on tpanel.
* Fix: XImage: When ximage is created in another control or child
window/dialog, dragging ximage is moving the parent also. Fixed
* New: TFont class new METHOD Clone(). If a font is cloned, the
new cloned font has to be release separately.
* XBROWSE:
- Enhancement: Automatic Recalculation of Totals:
(a) When a column has an aggregate footer type (eg. AGGR_SUM)
and edited inline, that column's totals are recalculated
automatically. This recalculation is not compatible with programmer's
direct call to MakeTotals(). Now the incompatibility is removed.
(b) In the above case, only the changed column's totals were
beging recalculated. Now all depedent columns' totals are also
recomputed.
- New: DATA lSeekBar (default .f.)
DATA oFilterCol (default nil)
When lSeekBar is set to .T. and oBrw:oSeek is nil, oBrw:cSeek
is displayed in the header bar in the column being searched in
incremental seek mode. In case of incremental filter, the
programmer need to specify oFilterCol also in addition to
cFilterFld if cSeek is to be shown in the bar.
* FWMARIADB:
- Autoreconnection in case of lost connections:
If connection is lost during execution of a program
either due to timeout or network disconnection,
next sql execution automatically tries to reconnect
and proceed with the execution normally.
This new feature is under testing and further
improvement.
- Server variables can now be accessed and modified
like DATAs of connection object.
Examples:
? oCn:max_allowed_packet
if oCn:wait_timeout < 3600
oCn:wait_timeout := 3600
endif
- MySql native functions can be executed like METHODs
of connection object, using Harbour variables as
parameters.
? oCn:DATEDIFF( Date(), dOldDate )
? oCn:UTC_TIMESTAMP()
- Simpler way to open a table as rowset
oRs := oCn:customer
XBROWSER oRs
- METHOD HideServer(). If called, the details of server
name/address, user name are hidden from the application
program.
- New function: FW_DemoDB(). Connects to a demo MySql
server in the cloud for testing samples, when user does
not have access to his own server.
- New DATAs IsMySql and IsMariaDB
Whether the connected server is MySql server or MariaDB
server.
- New DATA nVersion: Server version in Numeric value
Eg Usage:
If oCn:IsMariaDB or oCn:nVersion >= 5.63
// do something
endif
- New: DATA bTrigger in Rowset: If assigned, the codeblock
is evaluated with the rowset object and the field name in
lowercase as parameters everytime any field is modified.
This can be used for automatic internal calculations.
- Fix: Incremental filter in xbrowse is not working when
oBrw:cFilterFld is assigned a value. Fixed.