Variables Globales

Juan M
11 de Septiembre del 2004
Hola, soy estudiante y quería saber si había alguien que me pueda dar una idea sobre Variables gLOBALES, ya que estoy realizando una serie de programas sencillos de la materia Progrmacion 1,y tengo el inconveniente que en uno de los progrmas cuando llama a otro modulo para que me imprima por pantallla los totales me dice que no encuntra las variables de donde deberia traer los valores, como podré hacer, si alguien tiene alguna pauta les agradecere mucho.
Gracias saludos, Juan M.

Ken Torrealba
11 de Septiembre del 2004
Es cierto lo que dice el compañero que respondio anteriolmente. Pero te aconsejo que:
1.- Destruyas la variable publica cuando ya no la necesites: RELEASE nombre_variable, esto por lo general lo puedes hacer en el evento ThisForm.Destroy, del ultimo formulario que las va a utilizar.
2.- No abuses de la cantidad de MemVar a declarar, por que este tipo de variable se mantienen por todo el tiempo que utilices tu sistema desde que son declaradas hasta que las destruyes, si creas muchas por ejemplo Matrices, campos grandes de texto. Tu sistema se vera afectado en el rendimiento (PC Antiguas)
3.- Un consejo: Si vas a pasar un valor desde un Modulo a otro pero en el mismo dentro del mismo formulario, utiliza la Propiedades creadas (personalizadas), esto para evitar crear variables que por lo general el Sistema no comprueba correctamente si existen (si las escribistes bien) al compararlas con otro, generandote errores totalmente incoherentes dificiles de encontral, pero si creas Propiedades el Sistema SI COMPRUEBA si estas correctamente escritas al compararlas o modificarles sus valores. Ten muy en cuenta este consejo y te evitas dolores de cabezas.
4.- Si vas a crear un grupo de varibles de memoria, m.nNota1, m.nNota2, m.nNotaX, te aconsejo que crees un arreglo de notas. m.anNotas y accedas a estos asi m.anNotas(1), m.anNotas(2)... de esta forma FoxPro ordenará mejor tus datos en la memoria y no los dispersara para crear varias variables.
5.- Si piensas utilizar variables de memoria para asignarlos a los campos de una tabla, te aconsejo que crees un procedimiento que extraiga los nombre de los campos de una tabla pasada como parametro y automaticamente Cree las variables de memoria con los mismo nombres de los campos y sus tipos. De igual forma un procedimiento que las Destruyas. Si no sabes como te puedo ayudar con mis Funciones.

hasta luego, y sigue estudiando.

Ken Torrealba
El Callao - Venezuela

Ricardo
11 de Septiembre del 2004
En el evento load o al inicio de tu programa declara tus variables

PUBLIC TOTREG,SUMREG ETC.
SALUDOS.

Jonathan Castro
11 de Septiembre del 2004
Una variable global es aquella que puede ser utilizada desde cualquier lugar de tu aplicación y se declaran con la palabra reservada:PUBLIC. La sintaxis para una variable global o publica es la siguiente: PUBLIC nombre_variable. Por el contrario una variable Local es la que solo tiene como alcance el modulo o lugar donde a sido declarada, por lo que no puede ser utilizada desde cualquier otro lugar de tu aplicacion.. (puedes duplicar los nombre de variables locales.)..

Tenemos entonces que si desea manipular datos que estan en un formulario "x", pudieras declarar una variable publica y utilizarla desde otro formulario o inclusive en un reporte.... Espero te sirva esto de ayuda... (no es facil plasmar lo que esta en la mente en palabras)....