Uso Tsbrowse 6.0 y estoy actualizando mi aplicacion con la ultima version 7.1 que descargue de este foro (Utilidades), pero me aparece un problema: la clausula POSTEDIT se evalua antes de abrir el dialogo, cuando aun no se han definido algunas variables y me da error de ejecucion. Esto no pasa con la version anterior.
Este es parte de mi codigo:
Code: Select all
REDEFINE BROWSE oBrw FONT oFont ID 201 OF oDlg GRID;
COLOR CLR_BLACK, RGB(255,255,240) ALIAS "OBLX"
ADD COLUMN TO BROWSE oBrw DATA ;
FieldWBlock("SELECT", Select("OBLX") ) ;
CHECKBOX SIZE 22 EDITABLE MOVE DT_MOVE_DOWN ;
POSTEDIT ( fCambios() ) // <--- este es el problema
ADD COLUMN TO BROWSE oBrw ;
DATA OBLX->CODDOC ;
HEAD "Doc" OEM
ADD COLUMN TO BROWSE oBrw ;
DATA OBLX->NUMDOC ;
HEAD "N£mero" OEM SIZE 80
......
ACTIVATE DIALOG oDlg CENTER;
ON INIT ( SetBtnBar( oDlg, oBrw), ;
oBrw:Setfocus(), ;
CursorArrow() )
Code: Select all
//-------------------
Static Function fCambios()
//-------------------
if lCanModify
zCambios := .t.
AEVAL(oBtnBar:aControls , {|x,y| x:ForWhen()} )
// aqui da el error porque oBtnBar recien se define en el INIT del dialogo
oBtnBar:Refresh()
endif
Return .T.
Alguien sabe como solucionarlo ?
Saludos
Ralph