Page 1 of 1

Variable Public ...

Posted: Wed Feb 01, 2006 2:35 am
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.

Posted: Wed Feb 01, 2006 9:11 am
by Antonio Linares
Carlos,

Has probado a usarla con Memvar-> delante ?

Memvar->variable

Variable Public ...

Posted: Wed Feb 01, 2006 12:57 pm
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

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

@ 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

Posted: Wed Feb 01, 2006 2:10 pm
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.

Posted: Wed Feb 01, 2006 3:51 pm
by Carlos Sincuir
Listo Antonio, con definir al inicio del programa las variables como Memvar quedo solucionado, muchas gracias.

Saludos.

Carlos Sincuir

Cambio variables a clase

Posted: Thu Feb 02, 2006 2:46 pm
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