Clipper/FiveWin - Error de Argumento 1077

 
Vista:

Error de Argumento 1077

Publicado por Alfonso (10 intervenciones) el 05/11/2007 19:53:46
Buenas Tardes a Todos los del Foro

Una Pequeña Pregunta de Aprendiz, tengo en mi programa el siguiente reglon

REDEFINE GET oPar[5] VAR aPar[23] ID 305 OF oDlc PICTURE "999,999.99" VALID Val_Cant()
.
.
.
ACTIVATE DIALOG oDlc ON INIT.......................etc.


STATIC FUNCTION Val_Cant()
aPar[22]:=aPar[30]
oPar[22]:Refresh() //Importe del Seguro
RETURN (NIL)

del cual al ejecutarlo me manda el siguiente error

"error BASE/1077 error de argumento" ¿que es esto? y en donde esta mi ? , elimino la
función y corre bien el programa.


mucho agradeceré su contribución

saludos

P. D. ¡ Disculpen mi Pregunta de Primaria ! pero no encuentro el error
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error de Argumento 1077

Publicado por Adalberto (213 intervenciones) el 06/11/2007 01:17:35
Hola Alfonso,

Al finalizar la función deberás devolver .T. pues vienes de una clausula VALID, por lo menos así es en Clipper.

Saludos, desde Santa Cruz de la Sierra - Bolivia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error de Argumento 1077

Publicado por Alfonso (10 intervenciones) el 06/11/2007 19:46:31
Hola Adalberto

Muchas Gracias por tu valioso comentario, el RETURN(NIL) se lo cambie por
RETURN(.T.) y Funciona


Saludos, desde México D. F.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error de Argumento 1077

Publicado por El Duro (121 intervenciones) el 06/11/2007 23:11:40
Alfonso:

Como dice el Maestro René Flores (Ahora que esta de moda), "Solo para rizar el rizo" más alla de la solución que te dió Adalberto debes considerar lo siguiente:

La verdadera razón de la cláusula VALID en cualquier get es precisamente eso VALIDAR el contenido de la variable del get, desde luego la forma en que la estas usando tambien es correcta pero se pierde el verdadero espiritu de la cláusula.

Cual es ese verdadero espiritu ?, pues validar el contenido de la variable del get y si es válido retornar un (.T.) en caso contrario retornar un (.F.).

Cuando retorna un (.T.) sale del GET en validación y pasa al siguiente GET en caso contrario el foco no sale del GET en validación, es decir no te permite avanzar al siguiente GET.

Vamos a tomar el ejemplo que pusiste:

STATIC FUNCTION Val_Cant()
aPar[22]:=aPar[30]
oPar[22]:Refresh() //Importe del Seguro
RETURN (.T.)

En este caso SIEMPRE retornará (.T.) y por lo tanto pasará al siguiente GET sin embargo déjame ponerte el ejemplo usando el verdadero espiritu de la cláusula

STATIC FUNCTION Val_Cant()
IF aPar[30] > 0.00
RETURN(.T.)
ELSE
RETURN(.F.)
ENDIF
RETURN (NIL)

Fijate que hasta se puede quedar con el último RETURN como NIL pues siempre saldrá por el primero o el segundo RETURN y nunca por el último, de acuerdo ?.

Repito, el uso que le estas dando tambien es válido, solo quise explicarte otro uso, diría yo el uso lógico de la cláusula VALID.

El Duro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar