remtec wrote:Me di cuenta de un error, el primer dato oSay1, en algunas ocaciones se imprime en blanco aun cuando el campo en la DBF tiene datos, me he podido dar cuenta, que esto ocurre, cuando el registro anterior el campo de oSay1 no tiene dato, al mostrar el siguiente produce el error.
El ultimo codigo que posteaste funciona bien aqui.
remtec wrote:Le hare una mdificacion, ya que cuando el campo esta vacio, muestra una linea paralela
Parece que el error te daba al intentar quitar lo que defines como linea paralela, que es el "BORDER" con anchura 0.
He procedido a ocultar el oSay (BORDER) cuando el dato está vacío. Para ello cambia la function RefreshData(), como sigue:
- Code: Select all Expand view
- Function RefreshData(aoSay, alBorder)
AEval(aoSay,{|o,n| o:Refresh(),;
if( Len(alltrim(o:cCaption)) > 0 ,;
( o:nWidth := GetTextWidth( 0, Alltrim(o:cCaption), o:oFont:hFont ) + if(alBorder[n],6,0), o:Show() ) ,;
o:Hide() ) })
Return nil
Saludos.