помогисте побороть timeSetEvent

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
bafurd
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 03.11.2004 (Ср) 23:26
Откуда: С-Пб

помогисте побороть timeSetEvent

Сообщение bafurd » 03.11.2004 (Ср) 23:36

:oops:
помогите, plz, побороть timeSetEvent в VB.
не пинайте ногами начинающих, помогите разобраться с программированием быстрого таймера. В WinAPI фунkциях есть функция timeSetEvent. Применяю след. код :

Option Explicit
Public Main_Timer_MM As Long
Public ThisDisplay.Main_Timer_Event As Boolean
.
.
.
Public Declare Function timeSetEvent Lib "winmm.dll" (uDelay As Long, uResolution As Long, lpFunction As Long, dwUser As Long, uFlags As Long) As Long
Public Declare Function timeKillEvent Lib "winmm.dll" (uID As Long) As Long
Function mainTimer() As Boolean
If ThisDisplay.Main_Timer_Event Then
ThisDisplay.Main_Timer_Event = False
Else
ThisDisplay.Main_Timer_Event = True
End If
If ThisDisplay.Main_Timer_Event Then
ThisDisplay.Text0.Visible = True
Else
ThisDisplay.Text0.Visible = False
End If
End Function

Function KillTimerMM() ‘ удаление таймера
timeKillEvent (GwxuTimer_Main.Main_Timer_MM)
End Function

Function mainTimer1()
If Main_Timer_MM Then
mainTimer
End If
KillTimerMM
mainTimerStart
End Function

Function mainTimerStart()
Main_Timer_MM = timeSetEvent(5000, 50, mainTimer1, 100, 1)

End Function

В чём ошибка?
код не работает - временная выдержка не формируется. В чём ошибка? Помогите разобраться!
VB, WIN: XP, 98, 2000, NT4

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 04.11.2004 (Чт) 7:58

Попробуй так:
Код: Выделить всё
Sub MainTimer1(ByVal uID As Long, ByVal uMsg As Long, ByVal dwUser As Long, ByVal dw1 As Long, ByVal dw2 As Long)
If Main_Timer_MM Then
mainTimer
End If
KillTimerMM
mainTimerStart
End Sub

End Sub
Function mainTimerStart()
Main_Timer_MM = timeSetEvent(5000, 50, AddressOf MainTimer1, 100, 1)
End Function

MainTimer1 должна быть объявлена в модуле
[/code]
الفيجوال بيسك الرابح


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 3

    TopList  
cron