Page 1 of 1

Variables publicas y privadas

Posted: Mon Apr 16, 2007 2:19 pm
by jvargas
Hola amigos del foro
Soy Jorge Vargas, de Lima, Perú, tengo algunos añitos programando en Clipper y mucho antes lo hacia para Main frames, y ahora estoy empezando a convertir mis aplicaciones de DOS a Windows usando FW + xHarbour, he estado dando una ojeada por el foro y me gusta bastante por la cantidad de cosas que se aprende.
Ahora estoy tratando de compilar los 1ros prg’s que he convertido de Clipper, y recibo montones de warning W0002 por variables con referencia ambigua, y son asumidas como MEMVAR. Aunque en los parámetros de compilación existe “/a /n /v” asumiendo que son similares a Clipper y que debe solucionar estos mensajes. Las variables Publicas que defino en el programa principal y las uso indistintamente en funciones de todos los otros prg’s no son reconocidas.. estos warning dejan compilar los prg’s pero cuando ejecuto el Exec me da “Error BASE/1003 Variable does not exist: XNTX” , esta variable publica fue declarada en el prg inicial. Lo mismo sucede con variables Privadas por ejemplo los Objetos y sus variables de los Dlg’s que defino al principio del prg. secundario y las uso en funciones o procedimientos dentro del mismo prg generan los warnings. :x
Existe algún truco para que las variables Privadas declaradas en la función A puedan ser vistas y modificadas por la función B que es llamada por la función A. Y las variables Publicas declaradas en el programa principal puedan ser utilizadas en cualquier otra función o procedimiento de cualquier programa que éste llame, sin tener que utilizar MEMVAR para cada variable publica ya declarada en el programa principal?? Tal como en Clipper?
Hay algún manual de mensajes de errores de xHarbour y Fw ? no lo encuentro por ningún lado
Muchas gracias de antemano por la ayuda.
Jorge Vargas
:wink:

Posted: Mon Apr 16, 2007 3:09 pm
by Armando Picon
Hola Jorge.

También yo estoy en Perú.

Para evitar los warnings debes compilar con el flag /w0 (como en clipper). El error NTX es posible sea porque no estas considerando la liberia adecuada (nunca he visto un error XNTX).

Qué maker estas utilizando? VERCE, Fronted o un bat?

Saludos

Armando

Posted: Mon Apr 16, 2007 3:50 pm
by jvargas
hola Armando.
muchas gracias por tu pronta respuesta, he hecho la modificacion "/w0"al bat de compilacion pero sigue dando los mismos warninigs W0002.
talvez me expresé mal pero el XNTX es una variable publica que inicializo al principio MAIN() y tiene ".CDX", y la uso en una funcion dentro del mismo MAIN, dando el msg Base 1003.
sera un gusto conocerte en algun momento
gracias
j vargas

Posted: Mon Apr 16, 2007 6:04 pm
by Antonio Linares
Jorge,

Por favor muestra una pequeña muestra de tu código para que veamos como lo haces y así ayudarte correctamente, gracias

Posted: Mon Apr 16, 2007 11:14 pm
by jvargas
Antonio:
voy a preparar los prg's de prueba
muchas gracias, saludos
Jorge

Posted: Tue Apr 17, 2007 2:12 pm
by Armando Picon
Jorge

Contactame en mi email para ver cómo puedo ayudarte

Armando
jvargas wrote:hola Armando.
muchas gracias por tu pronta respuesta, he hecho la modificacion "/w0"al bat de compilacion pero sigue dando los mismos warninigs W0002.
talvez me expresé mal pero el XNTX es una variable publica que inicializo al principio MAIN() y tiene ".CDX", y la uso en una funcion dentro del mismo MAIN, dando el msg Base 1003.
sera un gusto conocerte en algun momento
gracias
j vargas