aoData no devuelve todos los datas

Post Reply
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

aoData no devuelve todos los datas

Post by fgondi »

Hola foro,

aodata no devuelve los datas cuya longitud sea mayor o igual a 10 caracteres.

Code: Select all

aDatas = aOData( oObject )
He comprobado al ejecutar __ClassSel que a estos datas se anteponen el guión bajo (_Incidencia) cuando no lo tiene en la definición del data.

Code: Select all

aDatas := __ClassSel( oObject )
Esto hace que la función aoData lo eliminie del array a devolver.

Code: Select all

 function aOData( oObject )

   local aInfo  := ASort( __ClassSel( oObject:ClassH ) )
   local aData  := {}
   local n      := 1
   local lExact := Set( _SET_EXACT, .t. )

   while SubStr( aInfo[ n ], 1, 1 ) != "_"
      if AScan( aInfo, "_" + SubStr( aInfo[ n ], 1, 9 ), n + 1 ) != 0
         AAdd( aData, aInfo[ n ] )
      endif
      n++
   end

   Set( _SET_EXACT, lExact )

return aData
Es un bug de fivewin o debe hacerlo? no devería ser la comprobación SubStr( aInfo[ n ], 1, 2 ) != "__"?
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Fernando,

El problema es que esa función está diseñada para Clipper en donde 9 caracteres es el máximo tamaño para reconocer una data, puesto que para asignar un valor a una data, Clipper (y [x]Harbour) anteponen un subrayado al nombre de la data.

Habría que modificar esa función para que trabaje con cualquier longitud de nombres de datas, para que funcione con [x]Harbour. Es un cambio fácil, se trata de comprobar que empiece por "_".
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Post by fgondi »

Antonio,

Gracias por tu respuesta.

Yo ya lo tengo corregido, pero no sabía que eso provocaría error si internamente fwh llama a esa función.
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Fernando,

FWH no la llama, por lo que no hay problema en modificarla.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply