Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  vb.net: Timer läuft nicht

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  vb.net: Timer läuft nicht (5053 mal gelesen)
KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 02. Nov. 2011 16:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich schon wieder ...

Ich versuche timergesteuert eine Progressbar laufen zu lassen.
Aber es tut sich nichts! 

Code:
  Sub StartProgressbar()
        'Progressbar läuft timergesteuert durch
        MyProgressBar.Enabled = True
        ProgressTimer.Interval = 10
        ProgressTimer.Start()
    End Sub

    Sub StopProgressbar()
        ProgressTimer.Stop()
        MsgBox("Timer gestoppt")
    End Sub

    Private Sub ProgressTimer_Tick(ByVal sender As System.Object, _
                ByVal e As System.EventArgs) Handles ProgressTimer.Tick
        Dim n As Integer
        TimerCounter += 1
        lblHinweis.Text = TimerCounter.ToString
        n = MyProgressBar.Value
        n += 10
        If n > MyProgressBar.Maximum Then n = 0
        MyProgressBar.Value = n
        MyProgressBar.Update()
        MsgBox("Tick")
    End Sub


Zu Beginn meiner Aktion wird per StartProgressbar() der Timer "Progresstimer" gestartet, per StopProgressbar() wieder gestoppt... so der Gedanke. Aber die "Tick"-Procedur wird offenbar nie durchlaufen.   

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 02. Nov. 2011 16:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus,

du muss den Style deiner ProgressBar auf Marquee setzen wenn diese einfach von links nach rechts durchlaufen soll

Code:
MyProgressBar.Style = _
    System.Windows.Forms.ProgressBarStyle.Marquee

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks API Snippets

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

erstellt am: 03. Nov. 2011 08:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Daniel,
das stimmt so nicht ganz, Style bestimmt nur das Aussehen.

Wenn ich den Value-Wert der Progressbar einzeln bei jeder Aktion erhöhe, funktioniert es- unabhängig vom Style. Das ist aber sehr mühsam, da ich dazu im ganzen Programm verteilt dutzende Stellen hab, wo ich das eintragen muss. Als Workaround habe ich das jetzt mal so gemacht, ist aber nicht schön.

Ich möchte einfach, dass die Progressbar voranschreitet bis sie voll ist, und dann wieder von vorne anfängt, solange etwas getan wird. Damit der User nicht meint, das Programm faulenzt vor sich hin. Und darum würde ich das gerne einfach über den Timer machen. Ich verstehe nur nicht, warum da nix passiert.

[Edit]hab grad nochmal rumprobiert, den Timer und eine Progressbar in eine andere Form gesetzt und dort gestartet...
solange das Programm irgendwas tut, scheint der Timer untätig. Erst wenn alle Aktionen beendet sind und das Programm wieder auf Eingaben wartet, läuft der Timer und mit ihm die Progressbar. Das ist doch aber nicht der Sinn der Sache^^[/Edit]
------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim     

[Diese Nachricht wurde von KMassler am 03. Nov. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

arossbach
Mitglied
Ingenieur Masch.bau


Sehen Sie sich das Profil von arossbach an!   Senden Sie eine Private Message an arossbach  Schreiben Sie einen Gästebucheintrag für arossbach

Beiträge: 1181
Registriert: 13.06.2001

Wildfire 3 M230
PDMLink 9.1
simufact.forming 10.1.1
Windows XP Professional 2002 Service Pack 2
Dell Precision WorkStation 390
3,25 GB RAM
Grafik: Quadro FX 3500

erstellt am: 03. Nov. 2011 09:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich


Progressbar.zip

 
Wenn es nur darum geht, dann machs doch ohne Progressbar

'...blablabla......
Dim i As Integer

Private Sub Form_Load()
i = 10
Label1.Width = 1
End Sub

Private Sub Timer1_Timer()
  Label1.Width = Label1.Width + i
  If Label1.Width > 4135 Then  '4140 ist max
    Label1.Width = 1
  End If
End Sub
'blablabla.....

Gruß

------------------
-Axel- 
CROSSFIRE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

erstellt am: 03. Nov. 2011 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Axel,

ist das mit VB6 erstellt?

In Vb.net heißt die prozedur
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Aber das nur nebenbei.
Das Problem ist nicht die Progressbar! Wegen mir kann das auch ein Label sein oder ein Bild oder sonst was.
Das Problem ist der Timer! Die Timer-Prozedur wird nicht aufgerufen, solange das Programm noch was anderes macht.
Und das verstehe ich nicht. Denn der Sinn dieser Timer-Prozedur ist ja gerade, dass sie regelmäßig abgearbeitet wird, auch wenn das Programm mit anderen Dingen beschäftigt ist. Sonst brauch ich die ja nicht.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


Sehen Sie sich das Profil von Patrick Weber an!   Senden Sie eine Private Message an Patrick Weber  Schreiben Sie einen Gästebucheintrag für Patrick Weber

Beiträge: 657
Registriert: 20.11.2006

Win7 Pro SP1 64Bit
HP Z230, Core i5, 8GB RAM, nv Quadro K600
Creo Elements/Direct 19.0 M010
ModelManager 19.0 M010
clisp,VB.net,VBA,AHK,php,javascript

erstellt am: 03. Nov. 2011 10:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von KMassler:
Denn der Sinn dieser Timer-Prozedur ist ja gerade, dass sie regelmäßig abgearbeitet wird, auch wenn das Programm mit anderen Dingen beschäftigt ist.

Richtig, aber die im Timer ausgeführten Abläufe aktualisieren nicht die Form, wenn diese mit einer regulären Funktion oder Subprozedur beschäftigt ist. Da hilft dir nur ein Application.DoEvents() in der Funk/Sub der Form oder du musst dich mal mit Threads beschäftigen.

------------------
Grüße aus Sachsen
pw

Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mseufert
Ehrenmitglied V.I.P. h.c.
Freiberuflicher CAD/CAM Ingenieur


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

erstellt am: 03. Nov. 2011 10:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus,

Du hast einerseits

Code:
MyProgressBar.Enabled = True
gesetzt, der Timer selbst steht evtl. noch auf
Code:
ProgressTimer.Enabled = False
??

Gruß, Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 03. Nov. 2011 11:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von Patrick Weber:
Richtig, aber die im Timer ausgeführten Abläufe aktualisieren nicht die Form, wenn diese mit einer regulären Funktion oder Subprozedur beschäftigt ist. Da hilft dir nur ein Application.DoEvents() in der Funk/Sub der Form oder du musst dich mal mit Threads beschäftigen.

Hmm...meine lange Leitung...

lösen wir uns mal von dem, was der Timer ausführen soll. Das erste Problem ist doch, dass die Prozedur Tick überhaupt nicht durchlaufen wird, egal was darin passiert.

Wo soll ich das doEvents plazieren? Wenn ich das überall einbauen muss, wo etwas passiert, damit die Progressbar (oder sonst was) aktualisiert wird... dann kann ich da auch gleich eine Sub aufrufen, die genau das tut. Wozu hat man dann den Timer? Irgendwie versteh ichs nicht.

@Michael: Asche über mein Haupt, die war tatsächlich disabled. Aber das macht keinen Unterschied^^

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

arossbach
Mitglied
Ingenieur Masch.bau


Sehen Sie sich das Profil von arossbach an!   Senden Sie eine Private Message an arossbach  Schreiben Sie einen Gästebucheintrag für arossbach

Beiträge: 1181
Registriert: 13.06.2001

erstellt am: 03. Nov. 2011 12:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von KMassler:
Hallo Axel,

ist das mit VB6 erstellt?

In Vb.net heißt die prozedur
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Aber das nur nebenbei.
[b]Das Problem ist nicht die Progressbar!
Wegen mir kann das auch ein Label sein oder ein Bild oder sonst was.
Das Problem ist der Timer! Die Timer-Prozedur wird nicht aufgerufen, solange das Programm noch was anderes macht.
Und das verstehe ich nicht. Denn der Sinn dieser Timer-Prozedur ist ja gerade, dass sie regelmäßig abgearbeitet wird, auch wenn das Programm mit anderen Dingen beschäftigt ist. Sonst brauch ich die ja nicht.

[/B]


Ja, ich weiß. Ist VB6 und soll auch nur auf den Progressbar Fake hinweisen. Habe hier kein VB.Net am Start.

Aber zum Problem:
Hmmmm..., also eigentlich ist es kein Timer Problem, sondern ein Aktualisierungs- oder Refreshproblem, oder ?

-Axel-

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 03. Nov. 2011 12:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

nein, es ist ein Timer-Problem. Oder ich versteh die Welt nicht.
Das Problem ist, dass die eigentliche Timerprozedur überhaupt nicht durchlaufen wird, solange noch irgenwas abläuft.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


Sehen Sie sich das Profil von Patrick Weber an!   Senden Sie eine Private Message an Patrick Weber  Schreiben Sie einen Gästebucheintrag für Patrick Weber

Beiträge: 657
Registriert: 20.11.2006

erstellt am: 03. Nov. 2011 12:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Als Beispiel:
Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' Starte Timer
        StartProgressbar()
        ' Beginne Abarbeitung im Hauptprogramm
        For i As Long = 0 To 1000000
            ' Tue irgendetwas
            lblForm.Text = i.ToString
            ' Aktualisiere UI (Form)
            Application.DoEvents()
        Next
        ' Stoppe Timer
        StopProgressbar()
    End Sub

StartProgressbar() aktiviert deinen Timer.
Dann lässt du dein Hauptprogramm durchlaufen, hier eine for-Schleife.
In dieser Schleife tust du etwas. Dadurch wird das Neuzeichnen der Form unterdrückt bzw. funktioniert nicht zuverlässig. Ein DoEvents hilft hier die UI zu aktualisieren und ansprechbar zu halten.
StopProgressbar() deaktiviert den Timer wieder, wenn das Hauptprogramm durchgelaufen ist.

Das ist aber mMn keine schöne Lösung, da die Progressbar "ruckelt". Ohne Timer und Style Marquee sieht es gut aus, wenn eine "Schleifenrunde" schnell durchlaufen werden kann.

Code:
    Public TimerCounter As Integer = 0
    Sub StartProgressbar()
        MyProgressBar.Enabled = True
        MyProgressBar.Style = ProgressBarStyle.Marquee
        MyProgressBar.MarqueeAnimationSpeed = 20
    End Sub

    Sub StopProgressbar()
        MyProgressBar.Style = ProgressBarStyle.Blocks
        MyProgressBar.Enabled = False
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        StartProgressbar()
        For i As Long = 0 To 20000
            lblForm.Text = i.ToString
            Application.DoEvents()
        Next
        StopProgressbar()
    End Sub


------------------
Grüße aus Sachsen
pw

Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 03. Nov. 2011 13:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich verstehe nicht, was das Ausführen der Prozedur timer_tick mit dem Auffrischen der UI zu tun hat.
Es geht mir gerade vorrangig darum, dass diese sub nicht durchlaufen wird!!! - ganz egal, was sie tut. Das mit der Progressbar ist nur die aktuelle Anwendung davon.

Das mit dem Einfügen von Application.DoEvents() ist keine Lösung, da ich eben nicht nur eine schöne Schleife habe, sondern viele viele Aktionen, die nacheinander ablaufen, ohne in einer Schleife zu stecken.
D.h. ich müsste überall in meinem Programm verteilt das Application.DoEvents() einfügen.

Was habe ich damit gewonnen? Da kann ich genauso oft einen Aufruf "ErhöheDieProgressbarUndFrischeSieAuf" einfügen... genau das mache ich als Workaround und das funktioniert. Ist aber eben auch ruckelig. Vor allem, wenn z.B. eine externe Aktion ausgeführt und auf das Ergebnis gewartet wird, da passiert eben gar nix.

Ich ziehe das Fazit: Timer taugt nix bzw. tut nicht, wozu er da ist. Schade drum.

Ich gebs erst mal auf, muss ja irgendwann auch fertig werden mit dem Programm, dann eben ohne.

Aber ich danke euch allen für die Mühe und die Geduld mit mir 

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Patrick Weber
Mitglied
Konstruktionstechniker, Admin


Sehen Sie sich das Profil von Patrick Weber an!   Senden Sie eine Private Message an Patrick Weber  Schreiben Sie einen Gästebucheintrag für Patrick Weber

Beiträge: 657
Registriert: 20.11.2006

erstellt am: 03. Nov. 2011 15:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Das ist eine Verständnisfrage. Du scheinst einfach den Einsatzbereich und die Möglichkeiten eines Timers maßlos zu überschätzen.

Ich kann nur immer wieder sagen: Threading!

Lagere die Hauptaufgabe in einen Thread aus, dann wird die UI des Programmes nicht blockiert und dein Timer kann tun, was er will. Aber das wäre ja mit Aufwand verbunden... Thread,  evtl. noch Delegates und Invokes...

------------------
Grüße aus Sachsen
pw

Karl Marx ist tot, Einstein ist tot, und mir ist auch schon ganz schlecht!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mseufert
Ehrenmitglied V.I.P. h.c.
Freiberuflicher CAD/CAM Ingenieur


Sehen Sie sich das Profil von mseufert an!   Senden Sie eine Private Message an mseufert  Schreiben Sie einen Gästebucheintrag für mseufert

Beiträge: 2624
Registriert: 18.10.2005

HP Z420
WIN7 64 Win 10
UG NX6-2212
3D Printer Prusa MK2 S

erstellt am: 03. Nov. 2011 15:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Hallo Klaus,

in Deinem Thread zum OpenFileDialog ist ein Beispiel mit funktionierendem Timer drin.

HtH

Gruß, Michael

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

erstellt am: 25. Nov. 2011 10:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Nur mal zwischendurch:
meine ersten Versuche mit Threads sind fehlgeschlagen. Im Moment habe ich leider keine Zeit, mich da noch reinzuhängen.

Aber das Thema ist nicht beendet! 

Bis hier hin erst mal vielen Dank für die vielen Tipps!

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

MWN
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von MWN an!   Senden Sie eine Private Message an MWN  Schreiben Sie einen Gästebucheintrag für MWN

Beiträge: 492
Registriert: 14.02.2007

erstellt am: 25. Nov. 2011 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KMassler 10 Unities + Antwort hilfreich

Ähm, trau mich kaum die Frage zu stellen: hast du mal den Timer mit Timer.Enabled=True gestartet, anstelle von Timer.Start?
Grüße

Tobias

------------------
Besucht mich doch mal in meiner Tischlerei

"...Kommunikation ist nur so gut wie ihr Ergebnis..." - frei nach Richard Bandler / John Grinder

"...Wenn du das tust, was du schon immer tust, wirst du auch nur das erhalten, was du schon immer erhalten hast..."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
Dell Precision 7540 mobile Workstation,
64GB, Quadro RTX 3000;
SWX2020 SP5;
SAP/PLM+ECTR;
DriveWorks Pro;
Programmierung: VBA, aktuell Visual Studio 2017/VB.Net

erstellt am: 28. Nov. 2011 08:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Tobias,

sowohl als auch.
Der Timer läuft auch-grundsätzlich. Aber eben nicht gleichmäßig durch, wie ich das erwartet hätte. In meinem Fall finden hier externe Aktivitäten mit Wartezeiten statt (z.B. Gewichtsberechnung in Baugruppen in SolidWorks), während denen der Timer einfach nicht tickt.

Aber wie gesagt- im Moment ist das Thema aus Zeitgründen auf Eis gelegt, ich musste anderes vorziehen. Aber irgendwann muss ich mir das Thema Threading wieder anschauen (mir grausts jetzt schon).

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... | Nasenheim 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2657
Registriert: 06.11.2000

erstellt am: 09. Apr. 2013 10:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


ThreadWinApp.zip

 
Laaang ist's her, aber jetzt habe ich mich endlich wieder damit beschäftigen können.

Der Tipp mit dem threading war der Hinweis auf den richtigen Weg. Nach einigem Gesuche im Internet (neudeutsch Googlen) mit vielen nicht funktionierenden Beispielen hab ich's endlich geschafft. 
Meine Progressbar wird jetzt in einem extra thread animiert und wird nicht mehr von irgendwelchen anderen Tätigkeiten ausgebremst- zumindest meistens. Vermutlich müsste ich auch diese anderen Aktionen auslagern, aber der Aufwand wäre mir hier echt zu groß.
 
Ein kleines Testbeispiel habe ich mal angehängt.

------------------
Klaus

www.al-ko.com | mein Gästebuch | privat... |

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz