Sigo con el miniproyecto y me encontré un nuevo tropiezo. He creado otro ejemplo para que veáis cual es el problema.
No me funciona bien con el segundo botón. Pretendo que haga el mismo resultado del primer botón.
Uso un Timer. En cambio en el otro uso un Wait y no se muestra el control de la barra de progreso.
Código con Timer:
Private incremento As Float
Public Sub _new(valor As Integer)
incremento = 1 / valor
Timer1.Delay = incremento
Timer1.Start
End
Public Sub MostrarBarra()
ProgressBar1.Value += incremento
End
Public Sub Timer1_Timer()
MostrarBarra()
If ProgressBar1.Value = 1 Then
Timer1.Stop
Me.Close
Endif
End
Public Sub Form_Open()
End
Public Sub _new(valor As Integer)
incremento = 1 / valor
Timer1.Delay = incremento
Timer1.Start
End
Public Sub MostrarBarra()
ProgressBar1.Value += incremento
End
Public Sub Timer1_Timer()
MostrarBarra()
If ProgressBar1.Value = 1 Then
Timer1.Stop
Me.Close
Endif
End
Public Sub Form_Open()
End
Código con Wait:
Private incremento As Float
Private limite As Integer
Public Sub _new(contador As Integer)
limite = contador
incremento = 1 / contador
End
Public Sub Form_Open()
' Comenta el código de Form_Activate y descomenta este para ejecutar su código
Print "Estoy funcionando. Pero mi formulario no se muestra!"
If MostrarBarra() Then Print "He tenido que esperar hasta el final!"
End
Public Sub Form_Activate()
' Comenta el código de Form_Open y descomenta este para ejecutar su código
' Print "Estoy funcionando. Pero no hace nada la barra de progreso!"
'
' If MostrarBarra() Then Print "He tenido que esperar hasta el final!"
End
Public Function MostrarBarra() As Boolean
Dim x As Integer
ProgressBar1.Value = 0
For x = 1 To limite
ProgressBar1.Value += incremento
Wait 0.01
Next
Return True
End
Private limite As Integer
Public Sub _new(contador As Integer)
limite = contador
incremento = 1 / contador
End
Public Sub Form_Open()
' Comenta el código de Form_Activate y descomenta este para ejecutar su código
Print "Estoy funcionando. Pero mi formulario no se muestra!"
If MostrarBarra() Then Print "He tenido que esperar hasta el final!"
End
Public Sub Form_Activate()
' Comenta el código de Form_Open y descomenta este para ejecutar su código
' Print "Estoy funcionando. Pero no hace nada la barra de progreso!"
'
' If MostrarBarra() Then Print "He tenido que esperar hasta el final!"
End
Public Function MostrarBarra() As Boolean
Dim x As Integer
ProgressBar1.Value = 0
For x = 1 To limite
ProgressBar1.Value += incremento
Wait 0.01
Next
Return True
End
Es como si el control de la barra de progreso no se dibujase.
Saludos
EjemploBarraProgreso.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | EjemploBarraProgreso.tar.gz | |
Tamaño: | 14.02 KB | |
Descargado: | 36 veces |
EjemploBarraProgreso.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | EjemploBarraProgreso.tar.gz | |
Tamaño: | 14.02 KB | |
Descargado: | 36 veces |
EjemploBarraProgreso.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | EjemploBarraProgreso.tar.gz | |
Tamaño: | 14.02 KB | |
Descargado: | 36 veces |