FW_DbfToHash() falla si el DBF está vacío.

FW_DbfToHash() falla si el DBF está vacío.

Postby VictorCasajuana » Thu Mar 18, 2021 12:09 pm

Utilizo la versión 19.6 de Fivewin,
Este ejemplo da error si el DBF no contiene registros, considero que debería devolver un Hash en blanco.
No sé si en las nuevas versiones de Fivewin está solucionado, en caso contrario modificaría la función FW_DBFToArray() para solucionarlo.

Code: Select all  Expand view
#include "fivewin.ch"


FUNCTION Main()

    Local fTest:='fTest'

    DbUseArea( .T.,, "TestVacio",fTest)
    xBrowse( fTest->(FW_DbfToHash( ) ) )
 
RETU NIL


Gracias y Salud!
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 219
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: FW_DbfToHash() falla si el DBF está vacío.

Postby VictorCasajuana » Thu Mar 18, 2021 1:42 pm

Modificando ArrToHash() de valtostro.prg me ha funcionado:

Code: Select all  Expand view
// ------------------------------------
   if aData:Empty()
      hRet := {=>}
   elseif HB_ISARRAY( aData[ 1 ] )
// ------------------------------------
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 219
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs

Re: FW_DbfToHash() falla si el DBF está vacío.

Postby nageswaragunupudi » Fri Mar 19, 2021 9:31 pm

FW_DbfToHash() returns an array of hashes, but not a hash.

So in the case of empty dbf, it should return an empty array, not an empty hash.

Yes, we need to fix the function to avoid this runtime error.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10465
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: FW_DbfToHash() falla si el DBF está vacío.

Postby VictorCasajuana » Mon Mar 22, 2021 7:21 pm

Thanks!
then, I think that a good solution is:
Code: Select all  Expand view
// ------------------------------------
   if aData:Empty()
      hRet := Array( 0 )
   elseif HB_ISARRAY( aData[ 1 ] )
// ------------------------------------
--------
¿ Y porque no ?
¿ And why not ?
User avatar
VictorCasajuana
 
Posts: 219
Joined: Wed Mar 28, 2018 4:38 pm
Location: Vinaròs


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], Willi Quintana and 77 guests