Spanish Variable general

Dragobyte

Member
Licensed User
Longtime User
Hola, perdonad por mi inexperiencia. En Sub Process Globals dice que puedo declarar una variable y llamarla desde cualquier activity pero esto no es así. La declaro pero no me funciona en otra Activity.
¿Como debo declararla, donde y como la llamo desde otra activity?

Gracias
 

socialnetis

Active Member
Licensed User
Longtime User
Para llamarla desde otra activity debes anteponer el nombre del activity donde se declara dicha Variable.
Por ejemplo, si en Main declaras una variable global llamada "miVariableGlobal", y en otra activity la quieres usar, la debes llamar asi: "Main.miVariableGlobal"
 

Dragobyte

Member
Licensed User
Longtime User
Hola otra vez. Hago eso, declaro Dim Medals as Int en Process Globals en Main.
Luego hago referencia en otra activity como:

Main.Medals=Main.Medals + 1
label2.text=Main.Medals

pero al compilar, nunca se abre la aplicación se interrumpe inesperadamente.

¿A que puede ser debido?
 

DATASOFT (SOLUSOFT S A)

Member
Licensed User
Longtime User
cuando tengas este tipo de dudas es mejor que des mas información ejemplo en que parte del código tienes el
B4X:
Main.Medals=Main.Medals + 1
label2.text=Main.Medals
yo use la misma sentencia y no obtuve el mismo resultado, el mensaje del "logs", o la situación en la que lo usas
 

Dragobyte

Member
Licensed User
Longtime User
Hola, ese código lo pongo en Activity create de una activity.
También uso la variable en muchas Sub de otra activity como resultado de timer o hacer click en button e imageviews.
La declaración la hago en process Globals de Main.
No se que puede ser lo que causa este error.
Al pasar de una activity a otra tengo que usar save/load en ficheros.
Por cierto, ¿influye la forma de pasar de una activity a otra?
Porque al pasar de Main a, digamos, activity1 uso exitApplication.
Con las otras activitys uso Activity.finish al pasar de una a otra.

Gracias
 

socialnetis

Active Member
Licensed User
Longtime User
Porque al pasar de Main a, digamos, activity1 uso exitApplication.
Con las otras activitys uso Activity.finish al pasar de una a otra.

ExitApplication intenta cerrar la aplicacion definitivamente, sacandola de la ram y perdiendo todo el estado del programa. Generalmente no es buena practica usar ExitApplication, conviene dejar a Android el manejo de cuando un programa debe salir de memoria ram, y en caso de creer que es necesario su uso (por ejemplo, porque utiliza mucha memoria), se debe usar cuando se quiere salir de la aplicacion.
Para pasar de un activity a otro, basta con usar "StartActivity(nombreDeLaActivity)".
 

DATASOFT (SOLUSOFT S A)

Member
Licensed User
Longtime User
otro consejo clave es usar los logs
B4X:
Log("en esta parte tiene este valor"&main.medals)
esto te ayudara a saber en que momento se "pierde"
 

Dragobyte

Member
Licensed User
Longtime User
otro consejo clave es usar los logs
B4X:
Log("en esta parte tiene este valor"&main.medals)
esto te ayudara a saber en que momento se "pierde"
Ok, muchas gracias. He conseguido solucionar el problema. Era el uso de ExitApplication lo que me alteraba todo.

Gracias
 
Top