Spanish Problemas en procedimiento de espera sin utilizar DoEvents

desof

Well-Known Member
Licensed User
Longtime User
B4X:
Sub Splash1   
    Esperar
    Activity.Finish
    StartActivity(Main2)   
End Sub

Sub Esperar() 'As ResumableSub
    
    Dim ti As Long
    ti = DateTime.Now + (5 * 1000)
    Do While DateTime.Now < ti
        'DoEvents
        Sleep (0)   
    Loop
    Activity.Finish
    StartActivity(Main2)
End Sub

Hola, Tengo desarrollado este Sub que espera 5 segundo al cargar un Splash y funciona correctamente cn la linea comentada DoEvents pero no con Sleep() .
He leido que DoEvents no se debe utilizar más pero no encuentro la forma correcta de resoverlo..
Incluso he probado esto

Sub Esperar()

Sleep (5000)

End Sub

y tampoco me da resultado...

En que estoy fallando ?
 

desof

Well-Known Member
Licensed User
Longtime User
Hola pero ya lo he probado y lo puse abajo !
No me funciona por que mu ventana de splah desaparece de inmediato!
 

EnriqueGonzalez

Well-Known Member
Licensed User
Longtime User
cuando llamas a sleep(5000) el sub que lo llamo lo toma como un return.

debes poner algo asi.

sub splash1
esperar
wait for esperar_completed

activity.finish
.....
end sub

sub esperar()

sleep(5000)
callsubdelayed(me,"esperar_completed")
end sub
 

desof

Well-Known Member
Licensed User
Longtime User
cuando llamas a sleep(5000) el sub que lo llamo lo toma como un return.

debes poner algo asi.

sub splash1
esperar
wait for esperar_completed

activity.finish
.....
end sub

sub esperar()

sleep(5000)
callsubdelayed(me,"esperar_completed")
end sub
Perfecto !!!1 muchas gracias !!! asi me anduvo correctamente

B4X:
Sub Splash1   
    Esperar
    wait for esperar_completed
    Activity.Finish
    StartActivity(Main2)   
End Sub

Sub Esperar
        
 Sleep (5000)   
 CallSubDelayed(Me,"esperar_completed")
 
End Sub
 
Top