vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Backgroundworker mit eigenem Formular? 
Autor: Bismosa
Datum: 14.07.11 08:20

Hallo!

Der Groschen fällt in Pfennigen

Ich habe bisher eine Sub in der folgendes ausgeführt wird:
- Öffnen des Dokumentes
- Warten (Do...Loop) bis Dokument geöffnet
- Drucken des Dokumentes
- Warten (Do...Loop) bis Dokument gedruckt
- Schließen des Dokumentes
- Warten (Do...Loop) bis Dokument geschlossen

Wenn ich das mit Timern umsetzen würde, würde es in etwa so aussehen:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        'Dokument öffnen
        Timer1.Interval = 100
        Timer1.Start()
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Timer1.Tick
        If Var1 = True Then 'Dokument geöffnet
            Timer1.Stop()
            'Drucken...
            Timer2.Interval = 100
            Timer2.Start()
        End If
    End Sub
 
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Timer2.Tick
        If Var2 = True Then
            Timer2.Stop()
            'Dokuent schließen...
            Timer3.Interval = 100
            Timer3.Start()
        End If
    End Sub
 
    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Timer3.Tick
        If Var3 = True Then
            Timer3.Stop()
            MsgBox("Operation abgeschlossen.")
        End If
    End Sub
Bekomme ich z.B. nach dem Drucken keine Rückmeldung (passiert leider immer mal wieder...warum weiß ich allerdings nicht...) hänge ich trotzdem fest. Solange diese Prozedur läuft, ist die Form gesperrt, da andere Dokumente während dessen nicht angefordert werden können.
Also noch einen 4. Timer, der dann den Abbruch auslöst, wenn es zu lange dauert?

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        'Dokument öffnen
        Timer1.Interval = 100
        Timer1.Start()
 
        Timer4.Interval = 10000
        Timer4.Start()
    End Sub
 
    Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Timer4.Tick
        If MsgBox("Abbrechen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
            Timer1.Stop()
            Timer2.Stop()
            Timer3.Stop()
            Timer4.Stop()
        End If
    End Sub
War das denn jetzt so gemeint? Ich finde, das der Code so nicht wirklich übersichtlicher wird. Gerade da ich ähnliche Abfolgen zu hauf schon im Programm habe. Es werden dann viele Timer benötigt. Allerdings bekomme ich so das (wohl recht gehasste) Application.doevents weg.
Und wenn ihr so etwas vorschlagt, dann muss da was dran sein!

Gruß
Bismosa
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Backgroundworker mit eigenem Formular?3.289Bismosa12.07.11 16:37
Re: Backgroundworker mit eigenem Formular?2.143ModeratorFZelle12.07.11 16:40
Re: Backgroundworker mit eigenem Formular?2.128Bismosa13.07.11 07:58
Re: Backgroundworker mit eigenem Formular?2.059ModeratorFZelle13.07.11 09:58
Re: Backgroundworker mit eigenem Formular?2.011Bismosa13.07.11 12:39
Re: Backgroundworker mit eigenem Formular?2.043ModeratorFZelle13.07.11 12:51
Re: Backgroundworker mit eigenem Formular?2.190Bismosa13.07.11 16:31
Re: Backgroundworker mit eigenem Formular?2.020Maas13.07.11 18:57
Re: Backgroundworker mit eigenem Formular?2.135Bismosa14.07.11 08:20
Re: Backgroundworker mit eigenem Formular?2.094ModeratorFZelle14.07.11 11:22
Re: Backgroundworker mit eigenem Formular?2.052Bismosa15.07.11 08:26
Re: Backgroundworker mit eigenem Formular?2.153ModeratorFZelle15.07.11 10:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel