craigpike
asked on
Sleep API Function?? Please help.
Hi Folks,
I am currently creating my first VB6 project(Game of Pairs). The problem that i have is that when i run the code below the sleep function doesn't allow the second button .visible = false. So when you click, the button is not invisible. the first button (case = 1) works fine.
Private Sub Command3_Click(Index As Integer)
Dim X As Integer
Dim W As Integer
NumClick = NumClick + 1
For X = 0 To 15
If Index = X Then
Select Case NumClick
Case Is = 1
Command3(X).Visible = False
Case Is = 2
Command3(X).Visible = False ' <===== it doesn't do this
Call Sleep(2000)
Call Check_Pairs
End Select
End If
Next X
If NumClick = 2 Then NumClick = 0 ' reset variable after 2 clicks!
End Sub
I have even tried putting a For X loop in between:
Command3(X).Visible = False
for x = 1 to 500
textbox1.text = "this is a wast of time!!!"
next x
Call Sleep(2000)
Even after this the button doesnt change to invisible! Does anyone know how to fix this??!! Please.
I am currently creating my first VB6 project(Game of Pairs). The problem that i have is that when i run the code below the sleep function doesn't allow the second button .visible = false. So when you click, the button is not invisible. the first button (case = 1) works fine.
Private Sub Command3_Click(Index As Integer)
Dim X As Integer
Dim W As Integer
NumClick = NumClick + 1
For X = 0 To 15
If Index = X Then
Select Case NumClick
Case Is = 1
Command3(X).Visible = False
Case Is = 2
Command3(X).Visible = False ' <===== it doesn't do this
Call Sleep(2000)
Call Check_Pairs
End Select
End If
Next X
If NumClick = 2 Then NumClick = 0 ' reset variable after 2 clicks!
End Sub
I have even tried putting a For X loop in between:
Command3(X).Visible = False
for x = 1 to 500
textbox1.text = "this is a wast of time!!!"
next x
Call Sleep(2000)
Even after this the button doesnt change to invisible! Does anyone know how to fix this??!! Please.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Doevents lets the system process everything before it continues. Without it your app will mostly not responding.
DoEvents causes other events in the queue to be processed first. You may just want to force a refresh of the screen.
Case Is = 2
Command3(X).Visible = False ' <===== it doesn't do this
Command3.Refresh ' Not sure if this will work by itself.
Form1.Refresh ' This should work, but it the previous line works, then it requires less painting time.
Call Sleep(2000)
Case Is = 2
Command3(X).Visible = False ' <===== it doesn't do this
Command3.Refresh ' Not sure if this will work by itself.
Form1.Refresh ' This should work, but it the previous line works, then it requires less painting time.
Call Sleep(2000)
First off you need to get the API for sleep, which is:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
then just use
Sleep 1000
instead of
Call Sleep(2000)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
then just use
Sleep 1000
instead of
Call Sleep(2000)
make the 1000 2000.
and remember, 1000ms = 1s... so 2000 is a 2 second wait :P
and remember, 1000ms = 1s... so 2000 is a 2 second wait :P
Hi!
One large point stands out in your code ..
I don't see anywhere where you incrrament NumClick.
If numclick is declared outside the procedure, such as a public variable, it should work fine.
If numclick is only used inside Command3_click then you need to declare it as "Static" so that the variable keeps it's value between clicks.
One large point stands out in your code ..
I don't see anywhere where you incrrament NumClick.
If numclick is declared outside the procedure, such as a public variable, it should work fine.
If numclick is only used inside Command3_click then you need to declare it as "Static" so that the variable keeps it's value between clicks.