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: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
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

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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
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: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Post Reply