Variable Public ...

Post Reply
Carlos Sincuir
Posts: 38
Joined: Mon Nov 28, 2005 2:10 pm

Variable Public ...

Post by Carlos Sincuir »

Hola a todos,
he tenido esta duda desde hace ya un tiempo, les comento:
Yo declaro una Variable 'x' como Public en una funcion, pero siempre que compilo xHarbour me da este mensaje:

Warning W0001 Ambiguous reference: 'xVariable'

Y si compilo con el flag /es2 no me genera el archivo .c, ya que obtengo el warning arriba mensionado.
Pues lo que tengo que hacer es quitar la severidad de salida del flag /es2, y el programa se genera sin ningún problema, pero si realmente no tengo definida otra variable no recibo ningun warning y puedo tener algún error en tiempo de ejecución.

Porque una variable definida como PUBLIC es tomana como una referencia ambigua? alguien pude contestar esta mi duda.

Saludos,

Carlos Sincuir.
User avatar
Antonio Linares
Site Admin
Posts: 42748
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 110 times
Been thanked: 108 times
Contact:

Post by Antonio Linares »

Carlos,

Has probado a usarla con Memvar-> delante ?

Memvar->variable
Last edited by Antonio Linares on Wed Feb 01, 2006 2:08 pm, edited 1 time in total.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Carlos Sincuir
Posts: 38
Joined: Mon Nov 28, 2005 2:10 pm

Variable Public ...

Post by Carlos Sincuir »

Antonio,
Primero que nada gracias por contestarme.
Pues no muy entiendo tu respuesta pero aca te mando un ejemplo de lo que stoy haciendo:

Code: Select all | Expand

Funcionta Prueba()
Local i, j
Public nRow

nRow := 1
....


Pues si se compila con xHarbour siempre de da el mensaje
Warning W0001 Ambiguous reference: 'nRow

Y necesito que la variable nRow sea pública porque la utilizo en una formula de Excel con la clase TExcels, Ej.:

Code: Select all | Expand

@ 2,3 XLS FORMULA _SUM( 8, 3, nRow, 3 ) 


y si no es Public nRow, obtengo un error en tiempo de ejecución.

Saludos.

Carlos Sincuir
User avatar
Antonio Linares
Site Admin
Posts: 42748
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 110 times
Been thanked: 108 times
Contact:

Post by Antonio Linares »

Carlos,

Ha sido un lapsus, es memvar:

memvar->nRow := 1

otra solución es escribir arriba, al comienzo del prg:

memvar nRow

con lo que el compilador entiende de que se trata de una variable pública.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Carlos Sincuir
Posts: 38
Joined: Mon Nov 28, 2005 2:10 pm

Post by Carlos Sincuir »

Listo Antonio, con definir al inicio del programa las variables como Memvar quedo solucionado, muchas gracias.

Saludos.

Carlos Sincuir
User avatar
leandro
Posts: 1774
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Has thanked: 49 times
Been thanked: 15 times
Contact:

Cambio variables a clase

Post by leandro »

Amigo, como vas?

Amigo no se si tu programa esta ya desarrollando por completo o estas empezando a desarrollar. Pero como consejo te diria que pases todas tus variables públicas a una clase. A mi me a servido mucho si quieres mandame un correo y te doy ejemplo.

Para mi funciona mejor que las PUBLIC
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
Post Reply