vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
Re: Echtzeitfähigkeit von .NET ? 
Autor: TobiasS
Datum: 18.07.08 09:43

Auch TwinCat erfüllt dies nicht, es ist nur so, dass man als Aussenstehender nicht das Gegenteil beweisen kann.

Allerdings ist es jedem Klar, das man mit einem Auto nicht nach Norden und Osten gleichzeitg fahren kann, jedoch nach Nord-Ost! Also ein kompromiss.

Wie gesatg, die Ausreisser hatte ich auch, im Taskmanager das Aktualisierungsinterval auf "Angehalten" und schon gings, am besten auch andere dienste und Software beenden, die nicht gebraucht werden. Hab grad was geschrieben:


Public Class RTTimer
 
    Public Event Elapsed(ByVal sender As Object, ByVal e As Results)
    Dim WithEvents worker1 As New System.ComponentModel.BackgroundWorker
    Dim Owner As Form
    Dim EventData As Results
    Dim IsRunning As Boolean
 
    Public Structure Results
        Dim ScannZeit As Long
    End Structure
 
    Private Delegate Sub ScannCompleted_DelegateObject(ByVal Data As Results)
    Private Sub Sub_ScannComplete(ByVal e As Results)
        If Owner.InvokeRequired Then
            Dim dd As New ScannCompleted_DelegateObject(AddressOf _
              Sub_ScannComplete)
            Owner.Invoke(dd, New Object() {e})
        Else
            RaiseEvent Elapsed(Me, e)
        End If
    End Sub
 
    Sub New(ByVal Parent As Form)
        Owner = Parent
    End Sub
 
    Public Sub Start(ByVal interval As Integer)
        If IsRunning = False Then
            worker1.WorkerSupportsCancellation = True
            worker1.RunWorkerAsync(interval)
        End If
    End Sub
 
    Public Sub Cancel()
        If IsRunning = True Then worker1.CancelAsync()
    End Sub
 
    Public Function IsBusy() As Boolean
        IsBusy = worker1.IsBusy
    End Function
 
    Private Sub RunWorker1(ByVal sender As Object, ByVal e As _
      System.ComponentModel.DoWorkEventArgs) Handles worker1.DoWork
        IsRunning = True
        Dim watch As New Stopwatch
        Dim interval As Integer = Convert.ToInt32(e.Argument)
redo:
        watch.Reset()
        watch.Start()
        Do
            If worker1.CancellationPending = True Then GoTo endSub
            If watch.ElapsedMilliseconds >= interval Then
                Dim EventData As New RTTimer.Results
                EventData.ScannZeit = watch.ElapsedMilliseconds
                Sub_ScannComplete(EventData)
                Exit Do
            End If
 
        Loop
        GoTo redo
        IsRunning = False
endSub:
    End Sub
 
 
End Class
Dann noch die form mit den elementen Ausstatten und ab geht die Post mit folgendem Code:

Dim WithEvents EchtZeitTimer As New RTTimer(Me)
Dim cnt As Integer = 0
 
 
    Private Sub EchtZeitTimer_Elapsed(ByVal sender As Object, ByVal e As _
      RTTimer.Results) Handles EchtZeitTimer.Elapsed
        cnt += 1
        Me.Text = Date.Now & ": " & e.ScannZeit.ToString & " - " & cnt
        If e.ScannZeit > 8 Then
            ListBox1.Items.Add(Date.Now & ": " & e.ScannZeit.ToString & " - " & _
              cnt)
        End If
    End Sub
 
    Private Sub Button_Stop__Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button_Stop.Click
        EchtZeitTimer.Cancel()
    End Sub
 
    Private Sub Button_Start_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button_Start.Click
        EchtZeitTimer.Start(8)
    End Sub
Damit bekommst deinen Event wesentlich zuverlässiger und genauer und es lassen sich auch z.B.3ms realisieren.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Echtzeitfähigkeit von .NET ?3.952Manni0117.07.08 12:37
Re: Echtzeitfähigkeit von .NET ?2.860Melkor17.07.08 14:14
Re: Echtzeitfähigkeit von .NET ?2.858ModeratorFZelle17.07.08 14:50
Re: Echtzeitfähigkeit von .NET ?2.945Melkor17.07.08 14:57
Re: Echtzeitfähigkeit von .NET ?2.880Melkor17.07.08 15:26
Re: Echtzeitfähigkeit von .NET ?2.826ModeratorFZelle17.07.08 20:43
Re: Echtzeitfähigkeit von .NET ?2.945ModeratorRalf Ehlert17.07.08 21:10
Re: Echtzeitfähigkeit von .NET ?2.902Melkor17.07.08 21:21
Re: Echtzeitfähigkeit von .NET ?2.852TobiasS18.07.08 08:31
Re: Echtzeitfähigkeit von .NET ?2.828Manni0118.07.08 09:31
Re: Echtzeitfähigkeit von .NET ?2.815TobiasS18.07.08 09:50
Re: Echtzeitfähigkeit von .NET ?2.903Manni0118.07.08 10:29
Re: Echtzeitfähigkeit von .NET ?2.820Manni0118.07.08 08:58
Re: Echtzeitfähigkeit von .NET ?2.818TobiasS18.07.08 09:43
Re: Echtzeitfähigkeit von .NET ?2.810Manni0118.07.08 10:34
Re: Echtzeitfähigkeit von .NET ?2.926TobiasS18.07.08 10:54
Re: Echtzeitfähigkeit von .NET ?2.882Manni0118.07.08 11:33
Re: Echtzeitfähigkeit von .NET ?2.889TobiasS18.07.08 12:01
Re: Echtzeitfähigkeit von .NET ?2.798Manni0119.07.08 10:53
Re: Echtzeitfähigkeit von .NET ?2.875ModeratorRalf Ehlert18.07.08 10:53
Re: Echtzeitfähigkeit von .NET ?2.817TobiasS18.07.08 10:56
Re: Echtzeitfähigkeit von .NET ?2.810ModeratorRalf Ehlert18.07.08 13:24
Re: Echtzeitfähigkeit von .NET ?2.805TobiasS18.07.08 13:30
Re: Echtzeitfähigkeit von .NET ?2.883ModeratorRalf Ehlert18.07.08 14:43
Re: Echtzeitfähigkeit von .NET ?2.888TobiasS18.07.08 14:56
Re: Echtzeitfähigkeit von .NET ?2.810ModeratorRalf Ehlert18.07.08 19:18
Re: Echtzeitfähigkeit von .NET ?2.730Housedog21.07.08 08:30

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-2025 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