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 | Expand
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 los cambia, 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
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ª