Suchergebnisse

Suchergebnisse 1-26 von insgesamt 26.

  • Benutzer-Avatarbild

    gpudate /force ist ein Befehl zur Aktualisierung der Gruppenrichtlinien und wird über die Windows Konsole (cmd) eingegeben oder über die Firmen IT erzwungen. Was genau der Befehl im Detail macht weiß ich nicht , jedenfalls friert die Form immer ein und die gestarteten Threads laufen im Hintergrund weiter. Gestern konnte ich weiter testen und ganz beseitigen. Ich benutze in dem Hauptablauf Thread Verweise auf Subs in anderen Formen Bsp.: Form2.Status() oder auch auf Module. Füge ich nun der Haupt…

  • Benutzer-Avatarbild

    Das gilt doch nur für Tasks oder? Ich starte die do Schleife im Hauptablauf über VB.NET-Quellcode (3 Zeilen) und in der Do Schleife vom Hauptablauf befinden sich dann weitere Threads VB.NET-Quellcode (3 Zeilen) Wie bereits erwähnt funktioniert das Programm sehr gut bis gpup... erfolgt.

  • Benutzer-Avatarbild

    Sorry VB.NET-Quellcode (1 Zeile) ist natürlich in einem Thread, daher friert auch nichts ein. Kann es vielleicht sein, dass die my.settings zu einem einfrieren bei dem Befehl gp.. führen? Ich benutze diese ab und an in einem Thread. Kann ich irgendwie feststellen, ob ich meine Form mit VB.NET-Quellcode (1 Zeile) überfordere, also zu viele Zugriffe aus Threads?

  • Benutzer-Avatarbild

    Ich habe jetzt die Sub VB.NET-Quellcode (1 Zeile) durch VB.NET-Quellcode (2 Zeilen) erstzt, leider ohne Erfolg. Der Hauptablauf läuft bei dem Befehl gpupdate /force im Debugger weiter und die Form ist eingefroren. Der Benutzer hat somit keine Chance Eingaben zu tätigen oder angezeigt zu bekommen. Zitat: „ dein hauptAblauf-Dingens ergibt mir gar keinen Sinn, daher kann ich dich auch schlecht beraten, ausser zu fragen, was denn nu passieren soll? “ Der Hauptablauf beinhaltet eine Do Schleife bis e…

  • Benutzer-Avatarbild

    OK Danke, habe mir jetzt ein kleines Beispiel dazu gebaut und das funktioniert auch ganz gut. Jetzt habe ich bewusst die Verarbeitung DoAwesomeStuff() auf 10 sek. gesetzt und der Hauptablauf geht "über" die Sub hinweg und setzt seine Verarbeitung fort. In DoAwesomeStuff() sammeln sich jetzt natürlich alte Verarbeitungen an, da der Hauptablauf schneller ist oder gibt es die Möglichkeit diese zu löschen? VB.NET-Quellcode (25 Zeilen) Beziehe ich das auf mein Problem hilft also: ??? VB.NET-Quellcode…

  • Benutzer-Avatarbild

    Kann mir vielleicht einer eine erste Hilfestellung an meinem Problem mit Async, Await und Task geben. Aus diesem Beispiel hier bin ich nicht ganz schlau geworden. HTML-Quellcode (1 Zeile) Beziehe ich das auf mein Problem, bedeutet das eine aufgelaufen Verzögerung durch gpudate /force in einem Thread, aufgerufen durch die Hauptform, wodurch andere Threads der Hauptform auch blockiert werden. Wenn ich den Thread Hauptablauf in eine andere Form packen würde, wäre meine Hauptform nicht blockiert?

  • Benutzer-Avatarbild

    Hallo, ich arbeite derzeit an einem Programm für die Automatisierung unterschiedlicher Geräte, die über eine TCPIP Verbindung kommunizieren. Das Programm läuft sehr gut, wenn die Firmen IT nicht im Hintergrund arbeitet. Insbesondere bei dem Befehl gpupdate /force friert die Hauptform ein. Ich konnte das Problem auch schon eingrenzen, verstehe allerdings nicht warum das passiert und hoffe deshalb auf eure Hilfe und Ideen Ich starte den Hauptablauf durch einen Button Klick VB.NET-Quellcode (3 Zeil…

  • Benutzer-Avatarbild

    Der Connection String in der DLL: VB.NET-Quellcode (5 Zeilen) und aus dem Projekt VB.NET-Quellcode (5 Zeilen) Zitat von ErfinderDesRades: „weil eine Dll kann man nicht aufrufen.“ Jetzt ist Weihnachten vorbei und wir räumen unsere Goldwaage wieder in den Schrank #Verweis Der Zugriff auf die DLL erfolgt auch aus verschiedenen Threads, dabei habe ich bis jetzt allerdings keine Leaks feststellen können.

  • Benutzer-Avatarbild

    Also ich habe gestern noch den Access Datenbankzugriff ein wenig reduziert. Es wird nur einmal geprüft ob ein Datensatz in einer Datenbank vorhanden ist und nicht wie früher die DLL mehrmals im Thread aufgerufen. Scheint etwas des Speicher zu reduzieren. Wird beim Aufruf der DLL immer eine neue Instanz für die Verbindung angelegt? Innerhalb der DLL: VB.NET-Quellcode (2 Zeilen)

  • Benutzer-Avatarbild

    Kann es auch sein, dass ein Invoke wie unten im Beispiel die TextBox mit "unendlich" vielen Nachrichten füllt und diese vielleicht einfach nur ab einer Größe von x Zeilen einmal gelöscht werden müsste? VB.NET-Quellcode (1 Zeile) Zudem wird die Debug und nicht die Release Version verwendet.

  • Benutzer-Avatarbild

    Ich denke die Try and Catch Abfrage ist somit ausgeschlossen. Kann Vielleicht jemand über meine Empfangroutine schauen, fehlt hier das dispose für den streamr oder streamw? Zudem habe ich noch ein paar my.settings. verbaut, die sich im Code ändern. VB.NET-Quellcode (82 Zeilen)

  • Benutzer-Avatarbild

    Leider fängt die Arbeitsspeicherauslastung nach einer gewissen Zeit wieder kurz unter dem reservierten Arbeitsspeicher an bis der cg kommt und wieder freigibt. Der reservierte Arbeitsspeicher steigt dabei wieder leicht an und alles fängt von vorne an. Ich denke Memory leak ist schon der richtige Ansatz.

  • Benutzer-Avatarbild

    Hatte auch erst Access Zugriffe, die ich in eine selbst geschriebenen DLL gepackt habe unter verdacht gehabt. Konnte den Speicheranstieg allerdings nicht in einem kleineren Projekt reproduzieren. Beim ersten Zugriff stieg der Speicher einmalig an und danach konnte unzählige weitere Zugriffe keinen Speicheranstieg erzeugen. Logdatei werden intern im Projekt verwaltet und am Ende wieder mit VB.NET-Quellcode (4 Zeilen) geschlossen und freigegeben. Können Try and Catch eigentlich auch zu einem Speic…

  • Benutzer-Avatarbild

    Hallo und frohe Weihnachten zusammen, aktuell arbeite ich an einem Projekt, dass relativ komplex ist und verschiedenen Labels und TextBoxen auf verschiedenen Formen über Invoke aus unterschiedlichen Threads füllt. Das klappt soweit auch ganz gut, nur leider steigt der Arbeitsspeicher innerhalb von 48 Stunden stark bzw. bis zum Absturz an. Mittlerweile wird der Arbeitsspeicher im Taskmanager über den GC wieder ordnungsgemäß aufgeräumt, aber der reservierte Arbeitsspeicher bleibt erhalten. Wie kan…

  • Benutzer-Avatarbild

    Vielen Dank für die Hilfe und Ideen, ich werde mich darauf beschränken Nachrichten aus dem ersten Thread nach einem gewissen Fortschritt über Invoke zu verschicken. Schließe dann das Thema hiermit.

  • Benutzer-Avatarbild

    Erst einmal vielen Dank für die ausführliche Antwort. Es ist also möglich einen Thread zu erzeugen und über invoke Daten herauszugeben. Wenn nun aber der gleiche Thread einen weiteren Thread (Thread in Thread) erzeugt funktioniert das nicht mehr. Wenn ich nun aber doch Daten über den Server aus dem zweiten Thread versenden möchte wäre beispielsweise nur die Möglichkeit my.Settings. Daten zu füllen, einen Timer zu starten (natürlich nicht im zweiten Thread), der dann prüft ob die Variable sich ge…

  • Benutzer-Avatarbild

    Der Code ist nur runtergeschrieben, damit das Problem halbwegs verständlich dargestellt werden kann, dementsprechend auch nur Fragmente Zitat: „Aber sei's drum. Aufgrund der Fragmente geht es schon mit Zeile 6 los: Form1.ThreadMessungStarten(), genauso Zeile 29. Da freut sich @RodFromGermany. Denn das geht bei Threading sowas von in die Hose. Daher schrieb ich ja auch was von“ Warum kann kein Thread so gestartet werden? Was spricht dagegen. Zitat: „Du hast bei den genannten Zeilen aber nur »Zugr…

  • Benutzer-Avatarbild

    Genau das mache ich ja, 2 Formen greifen auf die selbe Server Form zu und kommunizieren. Leider geht das nicht aus dem zweiten Thread heraus. Aus dem ersten kann ich über invoke Nachrichten versenden, aber wenn der zweite Thread aus dem ersten startet wird der Client nicht mehr gefunden. VB.NET-Quellcode (81 Zeilen)

  • Benutzer-Avatarbild

    Hallo*, ich habe einen Server auf einer Form(Server) erstellt und dieser funktioniert auch. Nachrichten können an einen Client verschickt und empfangen werden. Wenn ich nun eine bestimmte Nachricht erhalte, soll ein Thread auf einer anderen Form (Form2) gestartet werden und über Invoke Informationen über den Server an den Client verschickt werden. -) funktioniert auch. Nun startet der Thread in Form2 einen weiteren Thread in einer anderen Form (Form3), der auch Nachrichten über den Server an den…

  • 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 …

  • 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

    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

    @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

    @ 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

    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

    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…