Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Esta variable se pierde al finalizar el sub??

Estas en el tema de Esta variable se pierde al finalizar el sub?? en el foro de Visual Basic clásico en Foros del Web. Private Sub gd() If idg = "" Then idg = 1 Else idg = idg + 1 End If msgbox idg End Sub Lo hago ...
  #1 (permalink)  
Antiguo 03/09/2009, 11:01
 
Fecha de Ingreso: octubre-2008
Mensajes: 171
Antigüedad: 15 años, 6 meses
Puntos: 2
Esta variable se pierde al finalizar el sub??

Private Sub gd()
If idg = "" Then
idg = 1
Else
idg = idg + 1
End If
msgbox idg
End Sub



Lo hago para que cada vez que se ejecute gd() aparezca primero el 1, después el 2, y así..

Pero la variable idg siempre que ejecuto el sub está indefinida!! o sea que al finalizar el sub se pierde.

¿Qué puedo hacer para que no se pierda la variable?

Gracias de antemano
  #2 (permalink)  
Antiguo 03/09/2009, 12:03
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Esta variable se pierde al finalizar el sub??

Tu variable debes declararla de tipo static para que conserve su valor es decir:

Código vb:
Ver original
  1. Private Sub gd()
  2.  static idg
  3.  If idg = "" Then
  4.     idg = 1
  5.  Else
  6.     idg = idg + 1
  7.  End If
  8.  msgbox idg
  9. End Sub
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:37.