Suchergebnisse

Suchergebnisse 1-7 von insgesamt 7.

  • Benutzer-Avatarbild

    Hallo *, ich hoffe ihr könnt mir hier bei meinem Problem weiterhelfen. Aktuell arbeite ich an einem Verwaltungsrechner, der mehrere Prozesse gleichzeitig abarbeitet. Hierfür verwende ich einen Thread, der permanent in einer do Schleife läuft. VB.NET-Quellcode (23 Zeilen) Im Hauptthread springe ich nun in einen weiteren Thread, wenn eine IF Bedingung erfüllt ist (Bsp.: ThreadPruefe1Pruefung). In diesem Thread wird allerdings eine Kommunikation zu anderen Maschinen benötigt (RS232 und TCPIP Verbin…

  • Benutzer-Avatarbild

    Erst einmal vielen Dank für die ausführlichen und zügigen Antworten @RodFromGermany: Ich habe bereits jeder Maschine ein eigenes GUI-Element zugewiesen, um diesen gleichzeitigen Zugriff zu verhindern. Ist ein Thread für eine Maschine gestartet wird die Maschine/ Thread gesperrt und nicht noch einmal aufgerufen bis der Thread vollständig beendet ist. Trotzdem kommt es Manchmal zu threadübergreifenden Vorgängen, leider nach keinem zyklischen Muster. Ich möchte auch ungern alle Invoke Aufrufe mit T…

  • Benutzer-Avatarbild

    @ ErfinderDesRades Wenn ich mir die Verweise anschauen, dann finde ich keinen Zugriff mit Zitat: „ Form1.Textbox1.Invoke(...) “ aus einem Thread auf meine Form. Alles nur wie oben beschrieben über VB.NET-Quellcode (1 Zeile) Werde vielleicht mal das Invoke durch Begin Invoke ersetzen. @blaze~ Wollte damit sagen, dass ein zweiter Aufruf des Nebenthreads durch den Hauptthread ausgeschlossen ist und somit ggf. ein gleichzeitiger Zugriff auf das selbe GUI ausgeschlossen ist. Der Hauptthread ruft einm…

  • Benutzer-Avatarbild

    @RodFromGermany In BefehleAusThreadNachM1 sende ich per TCPIP Nachrichten an die Maschine, erstelle Logfiles und protokolliere dies in einer TextBox Ausgelöst wird der Vorgang aus dem Nebenthread über Invoke. Der Befehl wird wie oben beschrieben in der Case Anweisung selektiert und anschließen weitergeleitet: 0) Hauptthread ruft Nebenthread auf und sperrt diesen, bis die Freigabe wieder kommt 1)Nebenthread: ruft über Zitat: „TextBoxM1.Invoke(New BefehlFuerM1(AddressOf BefehleAusThreadNachM1), "S…

  • Benutzer-Avatarbild

    Wenn ich das invoke nur auf das GUI beschränke, dann ist allerdings mein Client geschlossen! Wie bekomme ich dann die Befehle an die Maschine gesendet. Muss ich für jeden Thread dann die Verbindung erneut öffnen? VB.NET-Quellcode (1 Zeile) ist false Gestartet wird die TCP Verbindung über das aktivieren einer Checkbox auf der Hauptform VB.NET-Quellcode (21 Zeilen)

  • Benutzer-Avatarbild

    Ich bitte noch einmal um Hilfe, also ohne invoke bleibt der TCPIP Client geschlossen, es sei denn ich öffne die Verbindung im Thread erneut. Es muss hier doch einen anderen Weg geben den Client aus dem Hauptthread zu verwenden oder?

  • Benutzer-Avatarbild

    Das Problem entsteht, wenn die TCPIP Verbindung der Maschine nicht über die Hauptform geöffnet wird, sondern über die Form der Maschine. Der Hauptthread, der ja den Nebenthread über die Hauptform startet hat dann eine geschlossene TCPIP Verbindung der Maschine. Wenn ich den Client der Maschine über die Hauptform öffne, dann ist die Verbindung in allen Threads der Hauptform geöffnet. Komisch das es häufig über Invoke klappt und dann manchmal ein Fehler auftritt. Es bleibt mir wohl nichts anderes …