| |

VB.NET - Ein- und UmsteigerMerfaches senden verhindern | |  | Autor: Stefan1510 | Datum: 10.07.07 10:55 |
| Hallo an alle.... Ich bin immer noch dabei mein Interface zu schreiben und es sind noch eineige Sachen, die ich nicht loesen kann oder wo man die herangehensweise betrachten kann.
Ich schicke Daten an einen Client, um das senden "sauber" zu beenden, habe nachdem ich auf den sendKnopf gerueckt habe erstmal den Knopf disabled, sind die Daten gesendet, schalte ich ihn wieder frei. Wenn ich jetzt einmal den Button drueck, kommen die Daten alle an der richtigen Stelle am Server an, jedoch beim mehrmaligen nachtriggern werden nicht die zu senden Werte im mein Empfangsarray gespeichert. Wieso kann das sein, normalerweise sollte der Button erst nach Ende der Anweisung wiede aktiv werden. Wie leicht zu erkennen ist, ist der Code sehr einfach dafuer aber viel zu lang, leider habe ich noch kleine Moeglchkeit gefunden, den Texboxname in einer Schleifenanwendung zu veraendern.
Noch eine Sache wuerde ich eleganter loesen wollen, es werden nicht immer gleich viele Daten gesendet, ich wuerde das am liebsten mit einer message machen, die immer bei jedem senden geschickt wird und dem gegenueber verraet was als naechste alles kommen wird. Eine Moeglxihkeit waere vielleicht eine zeitliche Verzoegerung einzubauen, erst immer die Message (Empfaenger kann sich drauf einstellen, evt. Handshake) und dann die Daten.
Noch eine Uebelegung, wenn ich auf ein Bit reagieren will, kann man das vielleicht am besten mit einem Event, wenn das Bit true ist, koennte man ein Event ausloesen. Das dann irgendwas macht.
Wenn da jemand eine Loesung/ Vorschlaege kennt, waere ich fuer jeden Tipp dankbar....
Stefan
Das soll meine Strucktur werden
Structure structsend
Dim message As Byte
Dim steuerbyte As Byte
'steuerbyte.[0]// homing
'steuerbyte.[1]// start
'steuerbyte.[2]// stopp
Dim set_pos As Int32
Dim set_speed As Int32
Dim HoleAX() As Int16
Dim HoleAY() As Int16
Dim HoleBX() As Int16
Dim HoleBY() As Int16
End Structure
Structure structreceive
Dim message As Byte
Dim statusbyte As Byte
'steuerbyte.[0]// homing
'steuerbyte.[1]// start
'steuerbyte.[2]// stopp
Dim is_pos As Int32
Dim is_speed As Int32
End Structure Das ist mein Click
Private Sub bt_set_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles bt_set.Click
bt_set.Enabled = False
' get position and velocity from the texbox
send.set_pos = Convert.ToInt32(txt_setpos.Text)
send.set_speed = Convert.ToInt32(txt_setspeed.Text)
Try
If txt_ah1x.Modified Then
send.HoleAX(0) = Convert.ToInt16(txt_ah1x.Text)
Else
send.HoleAX(0) = 0
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information)
End Try
Try
If txt_ah2x.Modified Then
send.HoleAX(1) = Convert.ToInt16(txt_ah2x.Text)
Else
send.HoleAX(1) = 0
End If
Catch ex As Exception
End Try
Try
If txt_ah3x.Modified Then
send.HoleAX(2) = Convert.ToInt16(txt_ah3x.Text)
Else
send.HoleAX(2) = 0
End If
Catch ex As Exception
..........insgesamt 48 mal convert
' is an Value in the Textbox
'write in the stream
my_writer.Write(send.message)
my_writer.Write(send.steuerbyte)
my_writer.Write(send.set_pos)
my_writer.Write(send.set_speed)
my_writer.Write(send.HoleAX(0))
my_writer.Write(send.HoleAX(1))
my_writer.Write(send.HoleAX(2))
my_writer.Write(send.HoleAX(3))
my_writer.Write(send.HoleAX(4))
my_writer.Write(send.HoleAX(5))
my_writer.Write(send.HoleAX(6))
my_writer.Write(send.HoleAX(7))
my_writer.Write(send.HoleAX(8))
my_writer.Write(send.HoleAX(9))
my_writer.Write(send.HoleAX(10))
my_writer.Write(send.HoleAX(11))
...... insgesamt 48 mal write
my_writer.Flush()
bt_set.Enabled = True
End Sub |  |
 Merfaches senden verhindern | 673 | Stefan1510 | 10.07.07 10:55 |
 | 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 |
  |
|
Neu! sevDTA 3.0 Pro 
SEPA mit Kontonummernprüfung
Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
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
|
|