Thema Datum  Von Nutzer Rating
Antwort
03.11.2008 23:56:35 Ramon
NotSolved
Blau Aw:Pause einer Application
07.11.2008 13:11:45 Holger
NotSolved
07.11.2008 21:58:53 Ramon
NotSolved
08.11.2008 16:09:16 Holger
NotSolved
10.11.2008 18:19:39 Ramon
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
07.11.2008 13:11:45
Views:
1027
Rating: Antwort:
  Ja
Thema:
Aw:Pause einer Application
Hallo Ramon,
ich kann dein Problem nicht nachvollziehen. Deshalb ich gehe davon aus, dass du blnExit als Public-Variabale definiert hast und in der Routine für den Pausenknopf, die du leider nicht mitgeschickt hast, die Variable beim ersten Drücken auf True und beim zweiten Drücken auf False setzt, um die Do-Loop-Schleife wieder zu verlassen. Warum beim Verschieben einer Scrollleiste blnExit verändert wird, ist ohne den Code unklar. DoEvents führt das Verschieben aus und kehrt ohne Veränderung zurück, wenn keine anders lautenden Anweisung erfolgten. Vielleicht kannst du beim Pausenknopf noch eine andere Public-Variable einsetzen, die dir in der Do-Loop-Schleife indiziert, dass der Pausenknopf und kein anderes Ereignis zum Umstellen der blnExit führte.
Viel Erfolg
Holger


Ramon schrieb am 03.11.2008 23:56:35:

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

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
03.11.2008 23:56:35 Ramon
NotSolved
Blau Aw:Pause einer Application
07.11.2008 13:11:45 Holger
NotSolved
07.11.2008 21:58:53 Ramon
NotSolved
08.11.2008 16:09:16 Holger
NotSolved
10.11.2008 18:19:39 Ramon
NotSolved