Spanish ¿Porque b4a no me reconoce una variable como global?

Ingeniero Cognitivo

Active Member
¿Porque me reconoce todas menos una?. He intentado cambiar el nombre como cuando me paso al principio pero esta vez sigue sin reconocerla.
Gracias.
 

GeoT

Active Member
Licensed User
Hola Ingeniero.

¿Qué quieres decir con que no te la reconoce?
¿Puedes dar más datos de tu problema?
¿Quizás la tengas declarada también en otra parte del código?
¿La tienes declarada con Dim, Public o Private?

Saludos.
 
Para declarar una variable global debes declararla en el Process_Globals y depende de como la declares es que va a funcionar.

Ejemplo:


B4X:
Sub Process_Globals

Public Variable as String 'Declaras una variable publica que puede ser utilizada en otros modulos.
Private Variable as String 'Declaras una variable privada que solo puede ser utilizada en el modulo declarado.

End Sub
Espero haberte ayudado.
Suerte!
 

Filippo

Expert
Licensed User
Para declarar una variable global debes declararla en el Process_Globals y depende de como la declares es que va a funcionar.

Ejemplo:


B4X:
Sub Process_Globals

Public Variable as String 'Declaras una variable publica que puede ser utilizada en otros modulos.
Private Variable as String 'Declaras una variable privada que solo puede ser utilizada en el modulo declarado.

End Sub
Espero haberte ayudado.
Suerte!
No puede definir una variable dos veces con el mismo nombre, independientemente de si está definida como pública o privada.
 

virpalacios

Member
Licensed User
Hola Buenas Noches, una vez hayas verificado lo que indican los colegas arriba, intenta eliminar toda la linea de la declaracion y escribela nuevamente (no la copies y pegue), en algunos casos quedan en el editor caracteres especiales no visibles (primero verifica ubicación, nombre, duplicidad).

Saludos Cordiales
 

Ingeniero Cognitivo

Active Member
Hola Ingeniero.

¿Qué quieres decir con que no te la reconoce?
¿Puedes dar más datos de tu problema?
¿Quizás la tengas declarada también en otra parte del código?
¿La tienes declarada con Dim, Public o Private?

Saludos.
Quiero decir que en la parte de diagnosticos pone que cierta variable no se reconoce. Lo raro es que lo pone en morado y aun no se porque, los errores que salen en morado nunca evitan que la aplicacion funcione, eso es lo bueno. Por eso creo que es algun fallo del compilador.

La he declarado asi, Dim variable as string. Acabo de probar con Public y pone lo mismo, que no la reconoce y en morado pero aun asi funciona.

En principio no la he declarado en otros documentos pero he probado a declararla en otros y tambien pone que no la reconoce, aunque funciona, por lo tanto es evidente que la reconoce.

Teniendo en cuenta que de momento funciona, no importa mucho continuar mas con este tema, aunque me causa mucha curiosidad que el compilador de ese fallo.

Lo unico que se me ocurre es que pueda ser porque tiene "ñ" y esta letra suele dar problemas.
 

Ingeniero Cognitivo

Active Member
Para declarar una variable global debes declararla en el Process_Globals y depende de como la declares es que va a funcionar.

Ejemplo:


B4X:
Sub Process_Globals

Public Variable as String 'Declaras una variable publica que puede ser utilizada en otros modulos.
Private Variable as String 'Declaras una variable privada que solo puede ser utilizada en el modulo declarado.

End Sub
Espero haberte ayudado.
Suerte!
Lo he probado, pero sigue igual. Pone que no se reconoce en morado pero aun asi funciona. El problema lo tenia hace unos dias cuando lo ponia en rojo. Cuando algo sale en rojo siempre da error al compilar.

Para corregirlo tuve que trasladar el main principal a otro activity.
 

Ingeniero Cognitivo

Active Member
Hola Buenas Noches, una vez hayas verificado lo que indican los colegas arriba, intenta eliminar toda la linea de la declaracion y escribela nuevamente (no la copies y pegue), en algunos casos quedan en el editor caracteres especiales no visibles (primero verifica ubicación, nombre, duplicidad).

Saludos Cordiales
Lo he probado y sigue igual. Sospecho que el problema es que tiene la variable tiene "ñ", pero de momento mientras funcione no hace falta investigar mas.

Gracias a todos.
 
Top