July 2013
=========
* New: Enhanced the development of samples/FiveReps.prg a GUI interface for
FWH Class TReport:
viewtopic.php?p=148137#p148137
* New: New function AsLongLong() used from FWH 64 and Class THActiveX.
* Enhancement: function AsPtr() has been enhanced for 64 bits.
* Fix: Export to Excel of XBrowse. When the first character of a cell is ", export to excel
works correctly when oBrw:lExcelCellWise is set to .t. but fails otherwise. Fixed now.
* Fix: function IsWin64() was not checking for Windows 64, instead it was checking if
our app is 32 or 64 bits. Now it is ok.
* New: function IsExe64() checks if our app is 32 or 64 bits in runtime.
* Enhancement: samples\buildh32.bat has been enhanced to turn it much more VS2012 friendly:
viewtopic.php?p=148484#p148484
* Enhancement: adofuncs.prg: Added support for SQLite and Oracle in all ado and sql functions
* Enhancement: TDataRow.prg: DataRow created from browse ( eg TDataRow():New( oBrw,,.t.) ) can
now handle appends for array browses also.
XBROWSE:
* Enhancement: When main window menus are in 2010 style xbrowse column
menus are also shown with 2010 style.
* Enhancement: Method Report() prints page numbers at bottom center.
* Fix: oCol:bOnChange was not getting triggered when the change is only in the case.
Now fixed.
* New: DATA bEdit. { |oRec| MyEdit( oRec )}. This data is used by TDataRow if created from
the xbrowse.
* New: ReadOnly DATA uDataSource: Returns the datasource of the browse
* New: Method DataRow( [lNewRecord], [cFieldList], [lUseDataSource] )
Returns a TDataRow object for the current row of the xbrowse. By default the object
is created from the browse as TDataRow():New( oBrw, [lNewRecord] )
lNewRecord: If .t. creates a blank record for edit and appends to database when saved
lUseDataSource: By default the obhject is created from the browse. If set to .t., the
is created from the datasource ( dbf, recset, etc )
* New: Method Edit( [lNewRecrod], [cFieldList], [lUseDataSource] )
Edit method creates DataRow object and invokes edit. Refreshing the browse and
setting focus to browse after edit are taken care by this method. If bEdit is
not assigned with a codeblock default edit is invoked.
Usage:
oBrw:bEdit := { |oRec| MyEdit( oRec ) } // OPTIONAL
@ <r>, <c> BUTTON PROMPT "Add" ......... ACTION oBrw:Edit( .t. )
@ <r>, <c> BUTTON PROMPT "Edit" .........ACTION oBrw:Edit()
* Enhancement: Printer Preview allows now to choose the printer to use:
viewtopic.php?p=148618#p148618
thanks to Manuel Valdenebro for the original idea and Armando for testing it.
* Important: FWH function IsWin64() has been renamed as IsExe64() and all the FWH
files that used it, updated with the new name. Now the function IsWin64() checks
for Windows 64 bits versions. IsExe64() checks if our app is 32 or 64 bits.
* Enhancement: New buttons "Send by Email", "Export to PDF" and "Export to MS Excel"
have been added in the FWH print preview:
viewtopic.php?p=148658#p148658
* New: Class TMenu Method UnCheckAll(), unchecks all the menuitems.
* Fix: RichEdit function REGETOLEINTERFACE() was not 64 bits compatible. Now it
is ok. Thanks to Lucas for his feedback:
viewtopic.php?p=148660#p148660
* Enhancement: RichEdit management internal functions have been updated to make them
64 bits compatible.
* New: function MSVC() returns the Microsoft C compiler version used to build FWH for MSVC.
i.e.: If 1700 is returned, then it is Visual Studio 2012.
* Enhancement: font.prg: Added DEFAULT_GUI_FONT to list of system fonts.
* New: Class TPrinter Methods CmVertPhySize(), CmHorzPhySize() and CmtrTextToCenter(),
return the vertical physical size in centimiters, same for horizontal and finally
centers a text horizontally. Thanks to Manuel Alvarez!
viewtopic.php?p=148732#p148732
* Fix: There was a bug in mdi.c in the default MdiFrame low level procedure that
was causing a GPF that happened when a control was placed as a child of the MdiFrame
window (in example, a control TOutLook at the left side as samples/test2003.prg does).
Thats why we implemented in that test2003.prg example the functions WinRun() and
NoGPF() to bypass the GPF. Now it is fine and the functions WinRun() and NoGPF()
for those cases are no longer needed.
* Fix: After the above fix, we were able to complete the functionality of MdiChild
buttons when the MdiChild is maximized:
viewtopic.php?p=148923#p148923
* Fix: MDI menu default window selection items were not working fine. Now they
are fine. Please review samples/test2003.prg
* Enhancement: FWH Print Preview now shows thumbs of all the pages so the user
can quickly review a certain page. Thanks to Marcelo Via Giglio!
viewtopic.php?p=148953#p148953
* Fix: Class TDBCombo needed a Method Change() on its own. Now it is fine.
You can test it on a new example samples/testdbc2.prg provided by Anser.
* New Samples: repxb01.prg and repxb02.prg demonstrate the use of XBREPORT command
for quick reports
* Fix: TDatabase: Seek method was not checking if an index is active. Fixed.
* Enhancement: Print Preview uses style 2010 if such style is used on the app main
window buttonbar or ribbonbar.
* Enhancement: Gradient support from REDEFINE BTNBMP ... GRADIENT ... same as
@ ..., ... BTNBMP ... GRADIENT supports it.
* Enhancement: Print Preview pages thumbs viewer may show at left or right side,
just right click on it to change its location.