ich habe ein problem...
ich moechte eine anwendung, die jede sekunde einen wert aus einem speicher liesst, per knopfdruck pausieren lassen (nicht stopen).
Hier die komplette methode:
private Sub cmdRead_Click()
Dim SHandles(50) As Long 'parameter value
Dim Values() As Variant 'return value
Dim Errors() As Long 'return value
Dim Qual As Variant 'return value
Dim TS As Variant 'return value
Dim i As Integer
blnExit = False
'save ServerHandles
Do Until j = 50
'opportunity to check other events
DoEvents
Do Until blnExit = False
DoEvents
Loop
SHandles(j) = MyOPCItems(j).ServerHandle
Call MyOPCGroup.SyncRead(OPCCache, 50, SHandles, Values, Errors, Qual, TS)
'fill the cells with the read values
If Cells(8 + j, 5) <> Values(j) Then
Cells(9 + j, 5) = Values(j) 'column "read"
Cells(9 + j, 6) = Qual(j) 'column "quality"
Cells(9 + j, 7) = Now 'column "timestamp"
deviceCounter = deviceCounter + 1
j = j + 1
Call autoSaveAndPrint
End If
Loop
End Sub
das Problem dabei ist, da in der Schleife immer mit DoEvents abgefragt wird,
pausiert die Anwendung auch wenn ich zum Beispiel an der Scroll-Leiste ziehe, was natuerlich nicht sein sollte.
Weiss jemand, wie ich die Anwendung pausieren lassen kann, aber nur auf knopfdruck???
Gruesse |