New FTDN July/Julio 2013 (FWH 13.07)

New FTDN July/Julio 2013 (FWH 13.07)

Postby Antonio Linares » Tue Jul 30, 2013 11:06 am

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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: New FTDN July/Julio 2013 (FWH 13.07)

Postby Antonio Linares » Tue Jul 30, 2013 3:43 pm

Julio 2013
==========
* Nuevo: Se ha creado un interfaz gráfico de usuario para la clase TReport.
Podéis encontrar el ejemplo en samples/FiveReps.prg. Además se está dedicando
tiempo a su desarrollo, se os ha pedido ayuda en su desarrollo y mejora:
viewtopic.php?p=148137#p148137
* Nuevo: Nueva función AsLongLong() usada en FWH64 y en la clase THActiveX.
* Mejora: Se ha mejorado la función AsPtr() para 64 bits.
* Corrección: En la exportación a Excel de XBrowse. Cuando el primer carácter de una
celda es ", la exportación a Excel funciona correctamente cuando oBrw:lExcelCellWise
es puesto a .T., pero fallaba en caso contrario. Se ha corregido ahora.
* Corrección: La función IsWin64() no estaba comprobando si la versión de nuesto S. O.
Windows era de 64 bits, en cambio comprobaba si nuestra aplicación era de 32 o 64 bits.
Ahora hace la comprobación correcta.
* Nueva: Nueva función IsExe64() comprueba en tiempo de ejecución si
nuestra aplicación es de 64 bits.
* Mejora: Se ha hecho más amigable con VS2012 el constructor de ejecutables FWH samples\buildh32.bat:
viewtopic.php?p=148484#p148484
* Mejora: Se ha mejorado adofuncs.prg, se ha añadido soporte para SQLite y Oracle en todas las funciones para ADO y SQL.
* Mejora: En TDataRow.prg, los DataRow creados desde un browse ( TDataROW():New( oBrw,, .T. )) pueden manejar el añadido de browses de matrices también.

XBROWSE:

* Mejora: Cuando los menús de la ventana principal están en la columna de un xbrowse con estilo 2010, los menús también se mostrarán con estilo 2010.
* Nueva: Nueva DATA bEdit { |oRec| MyEdit( oRec )}. Esta DATA será usada si el objeto TDataRow es creado desde un xbrowse.
* Nueva: Nueva DATA uDataSource de sólo lectura. Devuelve la fuente de datos del browse.
* Nueva: Nuevo método DataRow( [lNewRecord], [lUseDataSource], [cFieldList] ). Devuelve un objeto TDataRow para la fila actual del xbrowse. Por defecto, el objeto es creado desde el browse como TDataRow():New( oBrw, [lNewRecord] ).
lNewRecord: Si es .T., se crea un registro en blanco para la edición y se añadirá a la base de datos cuando se guarde.
lUseDataSource: Por defecto, se crea el objecto desde el browse. Si es puesto a .T., es creado desde la fuente de datos (DBF, RECSET, etc …).

* Nueva: Método Edit( [lNewRecrod], [lUseDataSource], [cFieldList] ).
El método Edit crea un objeto DataRow y activa la edición.
Refrescando el browse y poniendo el foco en el browse después de editar es tenido en cuenta por este método. Si bEdit no es asignado con un bloque de código, por defecto, será llamado.

Uso: oBrw:bEdit := { |oRec| MyEdit( oRec ) } // OPTIONAL
@ <r>, <c> BUTTON PROMPT "Add" ......... ACTION oBrw:Edit( .t. )
@ <r>, <c> BUTTON PROMPT "Edit" .........ACTION oBrw:Edit()

* Mejora: La vista previa de la impresión, ahora nos permite elegir la impresora a usar:
viewtopic.php?p=148618#p148618
Gracias a Manuel Valdenebro por la idea original y a Armando por probarlo.

* Importante: La función IsWin64() de FWH ha sido renombrada como IsExe64() y todos los ficheros que la usaban, han sido actualizados con el nuevo nombre. Ahora la función IsWin64() comprueba si la versión de Windows es de 64 bits. La función IsExe64() comprueba si nuestro ejecutable es de 32 o 64 bits.

* Mejora: Se han añadido nuevos botones a la vista previa de FWH, “Send by Email”, “Export to PDF” y “ Export to MS Excel”:
viewtopic.php?p=148658#p148658

* Nuevo: Método UnCheckAll() en la clase TMenu. Desactiva todas las opciones del menú.

* Corrección: La función de RichEdit REGETOLEINTERFACE() no era compatible con 64 bits. Ahora está correcta. Gracias a Lucas por informar de ello:
viewtopic.php?p=148660#p148660

* Mejora: Se han actualizado las funciones internas para el manejo de RichEdit, para hacerlas compatibles con 64 bits.

* Nueva: Función MSVC(), esta función devuelve la versión del compilador de C de Microsoft usado para contruir FWH para MSVC. Si es devuelto 1700, entonces se ha usado Visual Studio 2012.
* Mejora: En font.prg. Se ha añadido DEFAULT_GUI_FONT a la lista de las fuentes del sistema.
* Nueva: Métodos CmVertPhySize(), CmHorzPhySize() y CmtrTextToCenter(), devuelven el tamaño físico vertical y horizontal en centímetros, la otra función centra un texto horizontalmente. Gracias a Manuel Alvarez !
viewtopic.php?p=148732#p148732

* Corrección: Había un error en mdi.c en el procedimiento de bajo nivel del MdiFrame por defecto que estaba causando un error de GPF, este aparecía cuando un control estaba colocado como hijo de una ventana (un ejemplo, un control TOutLook en el lado izquierdo como hace el ejemplo samples/test2003.prg).
Es por eso que implementamos en el ejemplo test2003.prg, las funciones WinRun () y NoGPF() para omitir el GPF. Ahora está bien y ya no son necesarios las funciones WinRun() y NoGPF () para esos casos.

* Corrección: Después de la corrección de arriba, hemos sido capaces de completar la funcionalidad de los botones MdiChild cuando se maximiza el MdiChild:
viewtopic.php?p=148923#p148923

* Corrección: La selección de elementos en los menús MDI en la ventana por defecto no estaba funcionando. Ahora funciona correctamente. Por favor revise el ejemplo: samples/test2003.prg.

* Mejora: La vista previa de impresión de FWH ahora muestra imágenes de todas las páginas, así que el usuario puede revisar rápidamente una página determinada. Gracias Marcelo Via Giglio !

viewtopic.php?p=148953#p148953

* Corrección: La clase TDBCombo necesitaba un método Change() de su propiedad. Ahora está correcto. Puedes probarlo con un nuevo ejemplo samples/testdbc2.prg, proporcionado por Anser.

* Nuevo ejemplos: repxb01.prg y repxb02.prg para mostrar el uso del comando XBREPORT para informes rápidos.

* Corrección: En la clase TDatabase, el método Seeek() no comprobaba si un índice estaba activo.

* Mejora: La vista previa de impresión usará el estilo 2010 si tal estilo es usado en la ventana principal de la aplicación o ribbonbar.

* Mejora: Se soporta la cláusula GRADIENT en REDEFINE BTNBMP ... GRADIENT … igual que se soporta en @ ..., ... BTNBMP ... GRADIENT.

* Mejora: La visualización de las páginas en la vista previa de impresión se puede mostrar tanto en el lado izquierdo como en el derecho, sólo tienes que pulsar sobre ella para cambiar su localización.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42122
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to WhatsNew / Novedades

Who is online

Users browsing this forum: No registered users and 5 guests