FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index WhatsNew / Novedades New FTDN December 2019 (FWH 19.12)
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
New FTDN December 2019 (FWH 19.12)
Posted: Sat Dec 21, 2019 05:59 PM

October, November, December 2019

  • Fix: TArratData: Bold font internally created in the method ShowTable()
    is not being released. Fixed.

  • Fix: TGraph: When :lViewVal is true and if ::aSeries[x,5] is nil raises
    runtime error. This happens when values of :aSeries are assigned manually
    by the programmer, instead of using the prescribed method AddSerie()
    Fixed.

  • Fix: FWMariaRowSet: Runtime error when using methods CancelBatch() and
    IsBatchEdited() introduced in FWH1909 fixed.

  • FWMariaRowSet: Now accepts SQL statement "WITH RECURSIVE "

viewtopic.php?f=3t=37877p=226372hilit=RECURSIVE#p226372

  • FWMariaRowSet: New sample fwh\samples\marialok.prg for locking records while
    editing.

viewtopic.php?f=3t=37928

  • FWMariaRowSet METHOD EditBaseRecord( cFieldList, lNew, bEdit, oBrw, lLock )
    If lLock is set to .t. or a codeblock is specified, the record is locked while
    reading and on failure to read, the codeblock is evaluated with the rowset as
    parameter.
    Till FWH1909, read is attempted with clause "LOCK IN SHARE MODE". This approach
    was not giving the expected results as other users also are able to read the
    record for lock and attempt to write was resulting in deadlock issues.
    This is now modified to read with clause "FOR UPDATE". This change is working
    as expected.

viewtopic.php?f=3t=37928

  • FWMariaRowSet(): Method NewSql() fix.

  • Fix: Due to a bug in the function FW_ReadImage() in imgtxtio.prg, painting
    of png images by TBtnBmp is of low quality. Fixed.

viewtopic.php?f=3t=37944p=226800#p226800

  • XBrowse:
  • Fix: In some cases, if :cFooterPicture is specified without specifying
    :cEditPicture, the cFooterPicture is ignored. Fixed.

viewtopic.php?f=3t=37938p=226804#p226804

  • Improved painting of transparent buttons.

  • Fix: EDIT_LISTBOX: Text corresponding to a blank item in aEditListBound is
    not displayed. Fixed.

viewtopic.php?f=3t=37965

  • New data nLbxAt in the column object. Has meaning only when nEditType is
    EDIT_LISTBOX. (Not applicable to EDIT_GET_LISTBOX also).
    This data is set to the item number in the aEditListTxt/Bound for each row
    and can be used to display/set values in other columns.
    See: fwh\samples\xbrlbxat.prg

  • Window class: Methods SaveState() and RestoreState() were not working with
    MDICHILD windows. Now fixed.

viewtopic.php?f=6t=37962

  • Enhancement: TClipBoard class: Now TClipBoard class works even when no window
    or dialog is opened in the application.
    TClipBoard():New():SetText( "SomeText" ) works even if there is no window or
    dialog opened.

  • Enhancement: DTPICKER can now be used for DateTime values also
    New clause "STYLE <nStyle>"
    Optional nStyle can be a combination of any of the styles defined in
    dtpicker.ch
    #define DTS_UPDOWN 0x0001 // use UPDOWN instead of MONTHCAL
    #define DTS_SHOWNONE 0x0002 // allow a NONE selection
    #define DTS_SHORTDATEFORMAT 0x0000 // use the short date format DEFAULT
    #define DTS_LONGDATEFORMAT 0x0004 // use the long date format

  • Fix: Report.prg: In the preview of a report, the button Excel remains
    disabled wrongly. This was a bug introduced in FWH1909. Fixed now.

viewtopic.php?f=6t=38053

  • Treatment of ADO Date and DateTime fields/values
    XBrowse, TDataRow, TRecSet and function FWAdoStruct( oRs )

In many databases like MSAccess, MSSQL, Oracle only DateTime field type is
avaiable for storing both simple dates and date-time values. Whether a
particular field is to be treated as Date or DateTime field mostly depends
on the usage. Accordingly FWH libraries treat fields containing pure Date
values (without any time-part) as Date fields and fields containing DateTime
values are treated as DateTime fields. While this approach works satisfactorily
in most cases, there could be exceptions and the programmer needs to have
the facility to override the default behavior.

Databases like MYSQL,POSTGRE provide separate field types for Date and DateTime
and the above approach is not relevant in these cases.

Now from this version:
In cases of databases MYSQL,POSTGRE field types as reported by ADO are used
irrespective of the values stored.
In case of other databases, the existing default behaviour will continue and
the programmer can override by:

oCol:cDataType := .T. // xbrowse
oRec:FieldType( "fieldname", "T" ) // DataRow and TRecSet

viewtopic.php?f=3t=37792

  • TGet:
  • A codeblock can be specified in the COLOR clause instead of color constant.
    If a codeblock is specified, it is assigned to oGet:bColor.
    The codeblock is evaluated on every refresh with the get object as parameter.
    The codeblock should return an array of two colors, which will be used as
    foreground and background colors.

  • Fix: When text is pasted in a Password Get, the entire text is converted
    into asterisks. Fixed.

viewtopic.php?f=3t=37880

  • Fix: In Unicode applications, disabled password get was displaying the text.
    Fixed.

  • New: Method ShowPassword()
    Method MaskPassword( [nMaskChar] )
    DATA nPasswordChar [:= nChar] // Gets/Sets password mask char

  • Now a bitmap handle also can be specified in the clause BITMAP.

viewtopic.php?f=3t=38244

  • Combobox Enhancement:
    Additional clause "OWNERDRAW <uOwnerDraw>" allows specifying a function for
    owner draw of combobox items.

viewtopic.php?f=3t=37878
Samples\cbxowner.prg
- The function <uOwnerDraw> is suppied with parameters Combobox object, nIdCtl,
oItemStruct, nPItem. oItemStruct is an object of TDrawItemStruct, with the same
datas corresponding to DRAWITEMSTRUCT.

https://docs.microsoft.com/en-us/window ... itemstruct

oItemStruct DATAs are
CtlType, CtlID, itemID, itemAction, itemState, hwndItem, hDC, aRect, itemData,
nTop, nLeft, nBottom, nRight, nWidth, nHeight.
All the datas are readonly. Usage can be seen in the above sample.

  • TBlockChain CLASS:
    Compatibility with xHarbour: fixed

  • FWPDF class: New datas added to store METDATA information in the pdf.
    cAuthor,cCreator,cTitle,cSubject
    lTimeStamp (default .T.) stores the creation date time
    cCreator can be a character string or a logical .T.. If .t., the
    name of the exe without path is stored as "Application" in METADATA.

  • function FW_AdoExportToDBF( oRs, cDbf, [lEditStruct] )
    When the recordset has AutoIncrement field, that field is being
    created as an autoincrement field in DBF also. This resuls in different
    numbers in the exported DBF. Now this field is created as a simple
    numeric field so that the exported data exactly matches the source data.

  • Fix: MDI frame window. In a Unicode application, changing the title of the
    main MDI frame window was not working correctly. Fixed.

viewtopic.php?f=3t=38106p=227902#p227902

&&&&&&&&&&&&&&&&&&

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1772
Joined: Thu Sep 05, 2019 05:32 AM
Re: New FTDN December 2019 (FWH 19.12)
Posted: Sat Dec 21, 2019 08:59 PM

hi,

em, 盲h ... where do i get new Version :?:

Use your login and password to download it

greeting,

Jimmy
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: New FTDN December 2019 (FWH 19.12)
Posted: Thu Jan 02, 2020 12:45 PM

Octubre, Noviembre, Diciembre 2019

  • Correcci贸n: TArratData: La fuente en negrita creada internamente en el m茅todo ShowTable()
    no est谩 siendo liberado. Corregido.

  • Correcci贸n: TGraph: Cuando :lViewVal es verdadero y si ::aSeries[x, 5] es nulo genera un
    error de tiempo de ejecuci贸n. Esto sucede cuando el programador asigna manualmente los valores
    de :aSeries, en lugar de utilizar el m茅todo prescrito AddSerie(). Corregido.

  • Correcci贸n: FWMariaRowSet: Error en tiempo de ejecucci贸n cuando se usan los m茅todos
    CancelBatch() y IsBatchEdited(), introducido en FWH1909. Corregido.

  • Correcci贸n: FWMariaRowSet: Ahora acepta la sentencia SQL "WITH RECURSIVE".
    viewtopic.php?f=3&t=37877&p=226372&hilit=RECURSIVE#p226372

  • FWMariaRowSet: Nuevo ejemplo fwh\samples\marialok.prg para bloquear registros mientras
    editamos.
    viewtopic.php?f=3&t=37928

  • FWMariaRowSet METHOD EditBaseRecord( cFieldList, lNew, bEdit, oBrw, lLock )
    Si lLock est谩 configurado en .T. o se especifica un bloque de c贸digo, el registro se bloquea
    durante la lectura y, si no se lee, el bloque de c贸digo se eval煤a con el conjunto de filas
    como par谩metro.
    Hasta FWH1909, la lectura se intenta con la cl谩usula "LOCK IN SHARE MODE".
    Este enfoque no estaba dando los resultados esperados, ya que otros usuarios tambi茅n pueden
    leer el registro bloqueado y el intento de escribir estaba dando lugar a problemas de punto
    muerto.
    Esto ahora se modifica para leer con la cl谩usula "FOR UPDATE". Este cambio est谩 funcionando
    como se espera.
    viewtopic.php?f=3&t=37928

  • FWMariaRowSet(): Corregido el m茅todo NewSql().

  • Correcci贸n: Debido a un error en la funci贸n FW_ReadImage() en imgtxtio.prg, el pintado de
    im谩genes png por TBtnBmp es de baja calidad. Corregido.
    viewtopic.php?f=3&t=37944&p=226800#p226800

  • XBrowse:

  • Correcci贸n: En algunos casos, si :cFooterPicture se especifica sin especificar :cEditPicture,
    se ignora cFooterPicture. Corregido.
    viewtopic.php?f=3&t=37938&p=226804#p226804

  • Se ha mejorado el pintado de los botones transparentes.

  • Correcci贸n: EDIT_GET_LISTBOX: El texto correspondiente a un elemento en blanco en aEditListBound
    no se muestra. Corregido.
    viewtopic.php?f=3&t=37965

  • Nueva DATA nLbxAt en el objeto columna. Tiene 煤nicamente significado cuando nEditType es
    EDIT_LISTBOX. (No es aplicable tambi茅n a EDIT_GET_LISTBOX).
    Esta DATA se establece en el n煤mero de art铆culo en aEditListTxt/Bound para cada fila y se puede
    usar para mostrar/establecer valores en otras columnas.
    Ver: fwh\samples\xbrlbxat.prg

  • Window class: M茅todos SaveState() y RestoreState() no funcionaban con ventanas MDICHILD.
    Ahora se ha corregido.
    viewtopic.php?f=6&t=37962

  • Mejora en la clase TClipBoard: Ahora la clase TClipBoard funciona incluso cuando no se abre
    ninguna ventana o di谩logo en la aplicaci贸n.
    TClipBoard():New():SetText( "SomeText" ) funciona incluso si no hay ninguna ventana o di谩logo abierto.

  • Mejora: DTPICKER ahora tambi茅n se puede usar para valores de fecha y hora (DateTime).
    Nueva cl谩usula "STYLE <nStyle>"
    La cla煤sula opcional nStyle puede ser una combinaci贸n de cualquiera de los estilos definidos en
    dtpicker.ch.

define DTS_UPDOWN 0x0001 // use UPDOWN en lugar de MONTHCAL

define DTS_SHOWNONE 0x0002 // permite una selecci贸n NINGUNA

define DTS_SHORTDATEFORMAT 0x0000 // usa el formato de fecha corta (por defecto)

define DTS_LONGDATEFORMAT 0x0004 // usa el formato de fecha larga

  • Correcci贸n: Report.prg: en la vista previa de un informe, el bot贸n Excel permanece
    deshabilitado incorrectamente. Este fue un error introducido en FWH1909. Corregido ahora.
    viewtopic.php?f=6&t=38053

  • Tratamiento de los campos/valores Fecha (Date) y Fecha/Hora (DateTime) en ADO,
    XBrowse, TDataRow, TRecSet y en la funci贸n FWAdoStruct( oRs )

En muchas bases de datos como MSAccess, MSSQL, Oracle, solo el tipo de campo DateTime
est谩 disponible para almacenar fechas simples y valores de fecha y hora. Si un campo en
particular debe tratarse como un campo de fecha o fecha y hora depende principalmente del uso.
En consecuencia, las bibliotecas FWH tratan los campos que contienen valores de fecha puros
(sin ninguna parte de tiempo) como campos de fecha y los campos que contienen valores de fecha y hora
se tratan como campos de fecha y hora. Si bien este enfoque funciona satisfactoriamente en la mayor铆a
de los casos, podr铆a haber excepciones y el programador debe tener la facilidad de anular el
comportamiento predeterminado.

Las bases de datos como MYSQL, POSTGRESQL proporcionan tipos de campo separados para fecha y fecha y hora,
el enfoque anterior no es relevante en estos casos.

Ahora desde esta versi贸n:
En caso de bases de datos MYSQL, POSTGRESQL, los tipos de campo informados por ADO se utilizan
independientemente de los valores almacenados.
En el caso de otras bases de datos, el comportamiento predeterminado existente continuar谩 y el
programador puede anular:

oCol:cDataType := .T. // xbrowse
oRec:FieldType( "fieldname", "T" ) // DataRow y TRecSet
viewtopic.php?f=3&t=37792

  • TGet:
  • Se puede especificar un bloque de c贸digo en la cl谩usula COLOR en lugar de la constante de color.
    Si se especifica un bloque de c贸digo, se asigna a oGet: bColor.
    El bloque de c贸digo se eval煤a en cada actualizaci贸n con el objeto get como par谩metro.
    El bloque de c贸digo debe devolver una matriz de dos colores, que se utilizar谩 como
    colores de primer plano y fondo.

  • Correcci贸n: Cuando un texto es pegado en un Get para contrase帽as, el texto entero es convertido a
    asteriscos. Corregido.
    viewtopic.php?f=3&t=37880

  • Correcci贸n: En aplicaciones Unicode, los get para contrase帽as deshabilitados, mostraban el texto.
    Corregido.

  • Nuevo: M茅todo ShowPassword()
    M茅todo MaskPassword( [nMaskChar] )
    DATA nPasswordChar [:= nChar] // Obtiene/establece la m谩scara de la contrase帽a

  • Ahora tambi茅n se puede especificar un identificador de mapa de bits en la cl谩usula BITMAP.
    viewtopic.php?f=3&t=38244

  • Mejoras en Combobox:
    La cla煤sula adicional "OWNERDRAW <uOwnerDraw>" permite especificar una funci贸n para dibujar los
    componentes (items) del combobox.
    viewtopic.php?f=3&t=37878
    Samples\cbxowner.prg

  • La funci贸n <OwnerDraw> se suministra con los par谩metros del objeto Combobox, nIdCtl,
    oItemStruct, nPItem. oItemStruct es un objeto de TDrawItemStruct, con los mismos datos
    correspondientes a DRAWITEMSTRUCT.

https://docs.microsoft.com/en-us/window ... itemstruct

Las DATAs de oItemStruct son:
CtlType, CtlID, itemID, itemAction, itemState, hwndItem, hDC, aRect, itemData,
nTop, nLeft, nBottom, nRight, nWidth, nHeight.
Todas las DATAs son de s贸lo lectura. Su uso puede vere en el ejemplo anterior.

  • Clase TBlockChain:
    Compatibilidad con xHarbour. Corregido.

  • Clae FWPDF: Nuevas DATAs para almacenar imformaci贸n de METADATOS en el fichero pdf:
    cAuthor,cCreator,cTitle,cSubject
    lTimeStamp (por defectp .T.) almacena la fecha y hora de creaci贸n
    oCreator puede ser una cadena de caracteres o un valor l贸gico. Si es .T., el mombre
    del fichero ejecutable sin el camino, es almacenado como "Application" en METADATA.

  • Function FW_AdoExportToDBF( oRs, cDbf, [lEditStruct] )
    Cuando el conjunto de registros tiene un campo de AutoIncrement, ese campo tambi茅n se
    crea como un campo de autoincrement en DBF. Esto resulta en diferentes n煤meros en el DBF exportado.
    Ahora este campo se crea como un campo num茅rico simple para que los datos exportados coincidan
    exactamente con los datos de origen.

  • Correcci贸n: Marco en ventana MDI. En una aplicaci贸n Unicode, cambiar el t铆tulo del marco de la ventana
    principal MDI no funcionaba correctamente. Corregido.
    viewtopic.php?f=3&t=38106&p=227902#p227902

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion