Xevi,
Te recomiendo que eches un vistazo al PPO para ver que está pasando.
Un saludo,
"Xevi" <
xevi@garatgeautopista.com> escribió en el mensaje news:[email=
444604d2@ozsrvnegro.ozlan.local...]
444604d2@ozsrvnegro.ozlan.local...[/email]
Ignacio,
Pues por lo visto, si no utilizamos bFor ni oPgBar, el evento se limita a utilizar la función OrdCreate() del Alias.
Por lo que entiendo que si en lugar de utilizar OrListAdd() o SET INDEX... ADDITIVE, utilizo OrdCreate(), debería de funcionar correctamente.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <
NoName@xailer.com> escribió en el mensaje news:4445fd05$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
Xevi,
#define COMPILAR(cExpr) &("{||" + cExpr + "}")
METHOD AddTag( cTag, cExp, cFor, cFile, oPgBar ) CLASS XDbfDataSet
Local bEval
Local nCount, nStep
DEFAULT cFile TO ::DefIdxFile()
if oPgBar != nil
nCount := ::RecCount
With Object oPgBar
:nMin := 0
:nValue := 0
:nStep := 1
if nCount > 100
nStep := Round( ( nCount / 100) + 0.5, 0 )
:nMax := 100
else
nStep := 1
:nMax := nCount
endif
end with
bEval := {|| oPgBar:nValue += 1, .t. }
endif
if cFor != nil
( ::cAlias )->( OrdCondSet( cFor, COMPILAR( cFor ),,, bEval, nStep,,,,, .F.,, .T., .F., .F., .F. ) )
elseif oPgBar != nil
( ::cAlias )->( OrdCondSet( ,,,, bEval, nStep,,,,, .F.,, .T., ..F., .F., .F. ) )
endif
( ::cAlias )->( OrdCreate( cFile, cTag, cExp, COMPILAR( cExp ) ) )
RETURN nil
"Xevi" <
xevi@garatgeautopista.com> escribió en el mensaje news:4445fbb4$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
> Jose,
>
> De momento lo he apañado creando un DataSet y añadiendo los índices con
> AddTag()
> Y funciona perfectamente, por lo que sería bueno saber ¿como teneis
> construido este evento de la Clase para antes de hechar la culpa al
> compilador, saber seguro que se trata de un Bug.
>
> De todas formas lo posteo en el Foro... Uhmmm!!!
> Si me escribis la dirección del Foro de xHarbour... pues no lo tengo a mano.
>
> Gracias
>
> Un Saludo,
> Xevi.
>
>
> "Jose F. Gimenez" <
jfgimenez@wanadoo.es> escribió en el mensaje
> news:4445ee46$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
>> Xevi,
>>
>>> ¿No se tratará de un Bug de xHarbour???
>>
>> Puede ser.
>>
>>> pues lo que debería de funcionar es OrdListAdd...
>>>
>>> SET INDEX TO (cIndexTemp) ADDITIVE
>>> Este es el código genera al compilar /p...
>>> if !.T. ; ordListClear() ; end ; ordListAdd((cIndexTemp) )
>>>
>>> A mi entender, creo que las funciones OrdListClear() y OrdListAdd()
>>> deberían de funcionar igual para NTX y/o CDX
>>
>> Acabo de revisar la documentación de Clipper sobre esta función y no
>> encuentro que mencione ninguna limitación en los NTX. Es posible que sea
>> un bug de xHarbour. Por favor, comentalo en el foro de xHarbour, aunque
>> pongas el mensaje en castellano.
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>>
>
>
--