FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour PARAMETROS DE UNA FUNCION
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:01 PM

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

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:11 PM
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
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:21 PM
Porqué no utilizas

Code (fw): Select all Collapse
Function programa_1( Var1, Var2, Var3 )
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:34 PM

Horacio,
porque necesito pasarlo de funcion en funcion, y necesito para un caso especial dejarlo
de esa forma.
Gracias

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:38 PM

Yo paso los parámetros de función en función utilizando esta notación, no sé cual es el impedimento.

Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:44 PM

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

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:46 PM

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

Saludos,



Adhemar C.
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:50 PM

Ok, no se entendía esa situación en tu post.

Saludos

Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 09:57 PM

Adhemar,
disculpa la molestia, como sería un pequeño ejemplo en un par de líneas.
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 10:19 PM
Si no usas UEstudio tenes que hacer asi:

Code (fw): Select all Collapse
#include "FiveWin.ch"
*
memvar Var1,Var2,Var3
Function Main()
   Public Var1,Var2,Var3
...
Return


Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 10:23 PM

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!

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: PARAMETROS DE UNA FUNCION
Posted: Wed Aug 29, 2012 10:31 PM
En tu funcion colocas las variables:

Code (fw): Select all Collapse
Function progrma(Var1,Var2,Var3) 
?Var1 // .t.
?Var2 // titulo
?Var3 // 0
Return Nil


Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 33
Joined: Wed Jan 25, 2012 09:30 PM
Re: PARAMETROS DE UNA FUNCION
Posted: Thu Aug 30, 2012 03:10 PM

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.

Continue the discussion