Page 1 of 1
PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:01 pm
by TOTOVIOTTI
Estimados:
Necesito pasar unos parametros de una Función a otra, por ejemplo:
Aquí viene mi programa:
function main()
.
..
...
....
programa_1(var1,var2,var3)
....
...
..
return nil
function programa_1
parameters var1,var2,var3 //necesito recibirla así, porque estas variables siguen por varias funciones, (en el viejo clipper, me lo dejaba hacer así)
..
...
...
..
.
return nil
Pero cuando compilo, me da Ambiguous reference "var1","var2","var3"
Como puedo hacer para solucionar este tema?
Muchas gracias!
Roberto
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:11 pm
by TOTOVIOTTI
Pude encontrar que haciendo:
function main()
static var1,var2,var3
programa_1(var1,var2,var3)
return nil
function programa_1
parameters var1,var2,var3..
return nil
pero cuando no son variables las que tengo que pasar, por ejemplo:
programa_1(.t.,"titulo",0)
se me complica....
Gracias!
Roberto
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:21 pm
by horacio
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:34 pm
by TOTOVIOTTI
Horacio,
porque necesito pasarlo de funcion en funcion, y necesito para un caso especial dejarlo
de esa forma.
Gracias
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:38 pm
by horacio
Yo paso los parámetros de función en función utilizando esta notación, no sé cual es el impedimento.
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:44 pm
by TOTOVIOTTI
Horacio
no es impedimento, necesito reutilizar unas rutinas que ya tenía desarrolladas en clipper, y como
estoy probando convertir mis aplicaciones, quería tocar lo menos posible unas rutinas complicadas de cálculos
que ya tengo desarrolladas.
Roberto
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:46 pm
by acuellar
Roberto, que editor usas para enlazar tus programas?
Si es UEstudio debes colocar 0 en Warning level en Opciones de compilador.
o inicializar tus variables como PUBLIC en el primer programa.
Saludos,
Adhemar
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:50 pm
by horacio
Ok, no se entendía esa situación en tu post.
Saludos
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 9:57 pm
by TOTOVIOTTI
Adhemar,
disculpa la molestia, como sería un pequeño ejemplo en un par de líneas.
Roberto
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 10:19 pm
by acuellar
Si no usas UEstudio tenes que hacer asi:
Code: Select all | Expand
#include "FiveWin.ch"
*
memvar Var1,Var2,Var3
Function Main()
Public Var1,Var2,Var3
...
Return
Saludos,
Adhemar
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 10:23 pm
by TOTOVIOTTI
Adhemar, eso está perfecto y entendido, el tema es cuando a la 2da funcion, no paso
las variables var1,var2,var3, sino, valores propiamente dicho:
#include "FiveWin.ch"
*
memvar Var1,Var2,Var3
Function Main()
Public Var1,Var2,Var3
progrma(.t.,"titulo",0) //no son las variables var1,var2,var3
...
Return
Se entiende?
Gracias!
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 10:31 pm
by acuellar
En tu funcion colocas las variables:
Code: Select all | Expand
Function progrma(Var1,Var2,Var3)
?Var1 // .t.
?Var2 // titulo
?Var3 // 0
Return Nil
Saludos,
Adhemar
Re: PARAMETROS DE UNA FUNCION
Posted: Thu Aug 30, 2012 3:10 pm
by interwin
si pasas variables a una funcion de la forma:
function (VAR1,VAR2,VAR3)
Las variables VAR1,VAR2,VAR3 en la funcion se manejan como locales
Si pasas las variables de la forma
function
parameters VAR1,VAR2,VAR3
las variables VAR1,VAR2,VAR3 se manejan como privates y por eso el compilador te manda el warning con el mensaje de ambiguos reference, pero es solo un warning y tu funcion trabaja perfectamente
Saludos.