Hallo erst mall
Habe folgendes Problem
Das bei den hier geposteten Programm immer dan wen ich den timer anhalte und den slider verschiben will folgende Fehlermeldung kommt
Eine nicht behandelte Ausnahme des Typs "System.StackOverflowException" ist in mscorlib.dll aufgetreten.
aber nur solange die MsgBox nicht drin ist
hier noch der xaml code
Habe folgendes Problem
VB.NET-Quellcode
- Imports System.Windows.Threading
- Class MainWindow
- Declare Sub OPENCOM Lib "PORT" (ByVal A As String)
- Declare Sub TXD Lib "PORT" (ByVal Wert As Integer)
- Declare Sub RTS Lib "PORT" (ByVal Wert As Integer)
- Declare Sub DTR Lib "PORT" (ByVal Wert As Integer)
- Declare Sub CLOSECOM Lib "PORT" ()
- 'Dim g As Graphics
- Dim p As Integer = 0
- Dim i As Integer = 0
- Private dpTimer As DispatcherTimer
- Public Sub Ne()
- dpTimer = New DispatcherTimer
- 'MsgBox("")
- dpTimer.Interval = TimeSpan.FromMilliseconds(500 + CInt(Slider.Value * 100))
- AddHandler dpTimer.Tick, AddressOf TickMe
- dpTimer.Start()
- End Sub
- Private Sub TickMe()
- Dim openstring As String = "COM1: baud=19200 data=8 parity=N stop=1"
- If p = 1 Then
- Try
- OPENCOM(openstring)
- RTS(0)
- Catch ex As Exception
- End Try
- If i = 0 Then
- TXD(1)
- cantxd.Background = Brushes.Green
- DTR(0)
- candrt.Background = Brushes.Red
- ElseIf i = 1 Then
- RTS(1)
- canrts.Background = Brushes.Green
- TXD(0)
- cantxd.Background = Brushes.Red
- ElseIf i = 2 Then
- DTR(1)
- candrt.Background = Brushes.Green
- RTS(0)
- canrts.Background = Brushes.Red
- End If
- i += 1
- If i = 3 Then
- i = 0
- End If
- Else
- dpTimer.Stop()
- Exit Sub
- End If
- End Sub
- Private Sub bttport_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles bttport.Click
- Try
- If p = 0 Then
- Dim openstring As String = "COM1: baud=19200 data=8 parity=N stop=1"
- Try
- OPENCOM(openstring)
- canport.Background = Brushes.Green
- RTS(0)
- Slider.IsEnabled = False
- Ne()
- p = 1
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- Else
- CLOSECOM()
- canport.Background = Brushes.Red
- p = 0
- TXD(0)
- cantxd.Background = Brushes.Red
- dpTimer.Stop()
- RTS(0)
- canrts.Background = Brushes.Red
- DTR(0)
- candrt.Background = Brushes.Red
- Slider.IsEnabled = True
- dpTimer = New DispatcherTimer
- End If
- Catch ex As Exception
- End Try
- End Sub
- End Class
Das bei den hier geposteten Programm immer dan wen ich den timer anhalte und den slider verschiben will folgende Fehlermeldung kommt
Eine nicht behandelte Ausnahme des Typs "System.StackOverflowException" ist in mscorlib.dll aufgetreten.
aber nur solange die MsgBox nicht drin ist
hier noch der xaml code
XML-Quellcode
- <Window x:Class="MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="MainWindow" Height="174" Width="142">
- <Grid Background="#52000000">
- <Button Content="Port an/aus" Height="23" HorizontalAlignment="Left" Margin="12,70,0,0" Name="bttport" VerticalAlignment="Top" Width="90" />
- <Canvas Background="{x:Null}" Height="23" HorizontalAlignment="Left" Margin="44,41,0,0" Name="canport" VerticalAlignment="Top" Width="26" />
- <Canvas Height="23" Margin="12,12,0,0" Name="cantxd" VerticalAlignment="Top" HorizontalAlignment="Left" Width="26" />
- <Canvas Margin="44,12,0,0" Name="canrts" Width="26" Height="23" VerticalAlignment="Top" HorizontalAlignment="Left" />
- <Canvas Height="23" Margin="76,12,0,0" Name="candrt" Width="26" HorizontalAlignment="Left" VerticalAlignment="Top" />
- <Slider Height="23" HorizontalAlignment="Left" Margin="8,100,0,0" Name="Slider" VerticalAlignment="Top" Width="100" SelectionEnd="5" />
- </Grid>
- </Window>