1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Dim DX
Dim LoopFlag
Sub TimerProc(hWnd,uMsg,idEvent,dwTime)
Dim Compteur
DX.PI16_read_compteur Num_Carte, Compteur
DX.PI16_reset Num_Carte
..
'MAJ d'une variable dans le programme hôte Adelia
..
End Sub
Public Sub InitLecture(Num_Carte)
Dim Ref
Dim pTimerProc
Dim TimerID
LoopFlag=True
Set DX = CreateObject("DynamicWrapperX")
With DX
.Register "PI16.dll","PI16_read_compteur", "i=uU", "r=l"
.Register "PI16.dll","PI16_reset", "i=u", "r=l"
.Register "user32.dll","SetTimer","i=huul","r=l"
.Register "user32.dll","KillTimer","i=hu","r=l"
.Register "kernel32.dll","Sleep","i=u"
End With
Set Ref=GetRef("TimerProc")
pTimerProc=oWrap.RegisterCallback(Ref,"i=huuu")
TimerID=DX.SetTimer(0,0,1000,pTimerProc)
While LoopFlag 'main loop le prog Adelia doit pouvoir désarmer ce flag
DX.Sleep 500
Wend
DX.KillTimer 0,TimerID
End Sub |
Partager