El ultimo codigo que posteaste funciona bien aqui.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.
Parece que el error te daba al intentar quitar lo que defines como linea paralela, que es el "BORDER" con anchura 0.remtec wrote:Le hare una mdificacion, ya que cuando el campo esta vacio, muestra una linea paralela
He procedido a ocultar el oSay (BORDER) cuando el dato está vacío. Para ello cambia la function RefreshData(), como sigue:
Code: Select all
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