Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Blinkende TextBox solange Prozedur abgearbeitet wird

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.03.2005, 11:49 Uhr
mirmi



Hallo

Habe in meinem Prog eine Prozedur, die aufgrund einiger eingebauter Thread.Sleep() länger zum abarbeiten braucht.

Nun hab ich mir überlegt, dass ich dem Usr die Wartezeit mit einem Textfeld, das die Farbe ändert verschönere.
Die Prozedur für die Blinkanimation hab ich schon geschrieben. Sie ist aber auch Timerbasierend.

Ich möchte gerne die Blinkprozedur starten, wenn die lange Prozdur startet und sobald sie abgearbeitet ist, auch die BlinkAnimation stoppen.

Hat dazu jemand einen Vorschlag?

Danke vorab
mirmi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.03.2005, 22:28 Uhr
mirmi



Hi nochmal

Hab mir schon was zusammengesucht. Ich versuche einen eigenen Thread zu starten und zu stoppen.
Leider kann ich Deinen Tip aus mangelndem VB KnowHow nicht ordentlich umsetzen.

Ich habs jetzt mal so versucht:

zuerst hab ich diese Prozedur erstellt:
Sub subBlinkTxtProd()
Try
Dim intCtr As Integer
For intCtr = 0 To 10
threadBlink.Sleep(500)
If txtProdWhite.Visible = True Then
txtProdWhite.Visible = False
txtProdGreen.Visible = True
Else
txtProdWhite.Visible = True
txtProdGreen.Visible = False
End If
Application.DoEvents()
Next intCtr
txtProdWhite.Visible = False
txtProdGreen.Visible = False
Catch ex As ThreadAbortException
txtProdWhite.Visible = False
txtProdGreen.Visible = False
Return
End Try
End Sub

Diese wird in meiner "langen" Prozedur aufgerufen und auch wieder gestoppt:
Private Sub cmdPortOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPortOpen.Click
threadBlink.Start()
'Hier steht der ganze Code fürs abschicken der ComPort Befehle. Hier sind auch die Thread.Sleep() eingebaut.
threadBlink.Abort()
End Sub

Leider wird die Blink Prozedur irgendwie nicht richtig abgearbeitet bzw. gestartet. Was mach ich denn hier falsch?
Ich hab schon rausgefunden, dass der Thread mit threadBlink.Abort() nicht gestoppt wird. Denn beim nächsten Versuch heißt es, "Thread noch nicht angehalten", oder so ähnlich.

Danke vorab für die Tips...
mirmi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: