Page 1 of 1

Error al pasar Variable ...

PostPosted: Mon Nov 28, 2005 4:08 pm
by Chantiel
Saludos gente,

llevo varias horas trabado con un error que no he podido solucionar. El caso es el siguiente.

En el cuerpo principal del programa declaro una variable y la inicializo:

local cCambiar:= space(9)


Luego la paso como parametro de una funcion:

pBuscarPeticionario(mnif_cif, @mpriorita, @mfechanace, @cCambiar, oGrabarExpediente)

Dentro de esa funcion utilizo esa variable para hacer una comparacion, pero me daba un error.

Para averiguar que valor estaba tomando use un MsgAlert:

MsgAlert("Contenido de cCambiar: "+cCambiar,"PACORR!!!")

Y este fue el Error.log que me genero:

Time from start: 0 hours 0 mins 18 secs
Error occurred at: 28/11/05, 13:08:37
Error description: Error BASE/1081 Error de argumento: +
Args:
[ 1] = U

.
.
.

Param 1: C "42170002P"
Param 2: C " "
Param 3: D / /
Param 4: U
Param 5: O Class: TMDICHILD


He intentado ponerle un valor:

local cCambiar

cCambiar:= "algo"

pBuscarPeticionario(mnif_cif, @mpriorita, @mfechanace, @cCambiar, oGrabarExpediente)
...

Y sigue dandome el mismo error. Esto a que se puede deber?


Gracias de antemano!



Nos leemos!!

PostPosted: Tue Nov 29, 2005 8:11 am
by Antonio Linares
No debería ocurrir lo que comentas, pero prueba a hacer la asignación de nuevo dentro de la función a la que llamas:

local cCambiar:= space(9)

pBuscarPeticionario(mnif_cif, @mpriorita, @mfechanace, @cCambiar, oGrabarExpediente)

...

function pBuscarPeticionario( ... )

cCambiar := Space( 9 )
...

PostPosted: Tue Nov 29, 2005 8:07 pm
by Patricio Avalos Aguirre
Chantiel !!Que raro!!

prueba este ejemplo, por lo menos a mi me funciona bien..

procedure prueba()

local cCambiar1:= "prueba1", cCambiar2:= "prueba2", cCambiar3:= "prueba3", cCambiar4:= "prueba4", cCambiar5:= "prueba5"

prueba2( @cCambiar1,@cCambiar2,@cCambiar3,@cCambiar4,@cCambiar5 )

alert( cValtochar( cCambiar1 ) + CRLF + ;
cValtochar( cCambiar2 ) + CRLF + ;
cValtochar( cCambiar3 ) + CRLF + ;
cValtochar( cCambiar4 ) + CRLF + ;
cValtochar( cCambiar5 ) )


return

function prueba2( cCambiar1,cCambiar2,cCambiar3,cCambiar4,cCambiar5 )

alert( cValtochar( cCambiar1 ) + CRLF + ;
cValtochar( cCambiar2 ) + CRLF + ;
cValtochar( cCambiar3 ) + CRLF + ;
cValtochar( cCambiar4 ) + CRLF + ;
cValtochar( cCambiar5 ) )


cCambiar1:= "return prueba1"
cCambiar2:= "return prueba2"
cCambiar3:= "return prueba3"
cCambiar4:= "return prueba4"
cCambiar5:= "return prueba5"

return nil


Espero que te sirva!!

Saludos
Patricio