No se actualizan, los SAY.
Posted: Thu Feb 16, 2006 12:23 am
Necesito ayuda, os reproduzco, un poco del codigo que no me funciona:
El DIALOG, tiene definidos los SAY, de manera que no sean de solo escritura, pues pensando que influía, desactive en el WORKSOP, READ ONLY. Pero nada, activado, o no. No me funciona.
¿Que debo hacer?
Saludos, José Mª
Code: Select all
FUNCTION CrearIndic( cContab )
*- Vectores y Matrices: Locales.
LOCAL axFicheros := {}
LOCAL anVal := ARRAY( 4 )
LOCAL oDlg1
LOCAL oDlg2
*- Vectores Objeto: Locales.
LOCAL aoSay := ARRAY( 4 )
LOCAL aoMeterInd := ARRAY( 4 )
*- Borramos los Indices antiguos.
axFicheros := DIRECTORY( "*.NTX" )
IF LEN( axFicheros ) > 0
AEVAL( axFicheros, { | fichero | FERASE( fichero[ F_NAME ] ) } )
axFicheros := {}
ENDIF
DEFINE DIALOG oDlg1 RESOURCE "Indices_Creacion"
REDEFINE SAY PROMPT OemToAnsi( "CREACIÓN DE LOS INDICES DEL AÑO: " + cContab ) ID 101 OF oDlg1
ACTIVATE DIALOG oDlg1 CENTERED NOWAIT
*- Creación de los Indices de la Base de Datos: CLIENTES.DBF
AEVAL( anVal, { | elemento, n | anVal[ n ] := 0 } )
DEFINE DIALOG oDlg2 RESOURCE "Indices_Base_de_Datos"
REDEFINE SAY aoSay[ 1 ] ;
PROMPT "BASE DE DATOS: CLIENTES.DBF" ID 101 OF oDlg2 UPDATE
REDEFINE SAY aoSay[ 2 ] ;
PROMPT "POR: EL CODIGO DEL CLIENTE" ID 102 OF oDlg2 UPDATE
REDEFINE SAY aoSay[ 3 ] ;
PROMPT "POR: EL NOMBRE DEL CLIENTE" ID 104 OF oDlg2 UPDATE
REDEFINE SAY aoSay[ 4 ] ;
PROMPT "POR: EL TELEFONO DEL CLIENTE" ID 106 OF oDlg2 UPDATE
REDEFINE METER aoMeterInd[ 1 ] VAR anVal[ 1 ] ID 103 OF oDlg2
REDEFINE METER aoMeterInd[ 2 ] VAR anVal[ 2 ] ID 105 OF oDlg2
REDEFINE METER aoMeterInd[ 3 ] VAR anVal[ 3 ] ID 107 OF oDlg2
REDEFINE METER aoMeterInd[ 4 ] VAR anVal[ 4 ] ID 109 OF oDlg2
ACTIVATE DIALOG oDlg2 CENTERED NOWAIT
.
. Me genera los indices, y realizo una pausa, para ver que muestra el DIALOG. Hasta aquí todo correcto.
.
MsgInfo( "Pausa..." )
*- Tras la Pausa, pasamos a otra DBF. Por lo que cambio, los SAY del DIALOG. Pero no _, se queda como, cuando se activo el DIALOG. Le pogo la pausa, para verlo, pero nada.
AEVAL( anVal, { | elemento, n | anVal[ n ] := 0 } )
aoSay[ 1 ]:SetText( OemToAnsi( "BASE DE DATOS: PRESUPUE.DBF" ) )
aoSay[ 1 ]:Refresh()
aoSay[ 2 ]:SetText( OemToAnsi( "POR EL CODIGO DEL CLIENTE" ) )
aoSay[ 2 ]:Refresh()
aoSay[ 3 ]:SetText( OemToAnsi( "POR: EL NÚMERO DE PRESUPUESTO" ) )
aoSay[ 3 ]:Refresh()
aoSay[ 4 ]:SetText( OemToAnsi( "POR: EL NÚMERO DE PRESUPUESTO" + ;
" SIN REPETIR" ) )
aoSay[ 4 ]:Refresh()
oDlg2:UpDate()
SysReFresh()
*- Y así con una tercera DBF. Tampoco cambía
¿Que debo hacer?
Saludos, José Mª