Conservar el valor de una variable global en procedimientos

No estoy muy puesto en VB sobre el uso de las variables globales así que les comento la duda:

He declarado en un módulo una variable "Var" como Public (o Global):

Public Var as Boolean

Luego en un procedimiento la defino con un valor:

Private Sub Cmd_Guardar_Click()

Dim Var as Boolean

Var=true

End Sub

Si ahora deseo usar la variable en otro procedimiento:

Private Sub Cmd_Salir_Click()

Dim Var as Boolean

msgbox ("Var= " & Var)

End Sub

El resultado de Var en este procedimiento es Null. ¿Cómo es que Var no almacena el valor true del primer procedimiento? ¿cómo puedo hacer para que en el segundo procedimiento la variable Var guarde o recuerde el valor que tenía en el primero?

1 respuesta

Respuesta
1

Porque estas declarándola dos veces y le asignas el valor a la segunda.

En donde le das el valor, quita esta linea

Dim Var as Boolean

Es todo

Ok y gracias por la ayuda.

Veo que al declarar Var sólo en el segundo procedimiento, éste recibe el valor True del primero.

El problema es que Var será True en todos los procedimientos que defina en ese proyecto (lógico acorde a su ámbito), pero mi idea era conseguir que sólo en el primer procedimiento (al pulsar un botón guardar) tuviera valor True, y en caso contrario (si no se pulsa el botón guardar) tuviera valor False.

¿Alguna sugerencia?

Un saludo

No le veo utilidad a usar un Método/Procedimiento solo para darle el valor True, ¿para qué necesitas exactamente esa variable?

Hola,

la utilidad de la variable sería la de determinar si se pulsa o no un botón de comando en el formulario. Si se pulsa, tendrá valor True, en caso contrario la variable será false. Es la idea que se me ocurre para controlar cuándo un usuario pulsa un botón.

Por lo que intuyo, igual el uso de las variables globales de VB no es lo más adecuado para lograr mi objetivo, pero de momento, es la única idea que tengo.

Un saludo

Por si no fui muy claro en la explicación: es decir, la idea es saber si se pulsa un botón determinado desde otro botón del mismo formulario.

Gracias

Para que funcione debes declararla como Public pero en un Modulo, no en el código del Formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas