Hallo zusammen,
Hintergrund:
Ich habe eine Windows Forms App (in VB.Net), die die Bewegungen eines Roboterarms steuert und überwacht. Dies passiert durch mehrere Threads (ca. 5-7) während der Laufzeit. Variablen, die von mehreren Threads verwendet werden, synchronisiere ich mit synclock. Ich baue ebenfalls 2 TCPIP-Verbindungen mit anderen Programmen/Rechnern auf. Leider kann ich keinen Code zur Verfügung stellen. Die GUI hat ein paar Labels, die ich regelmäßig mit Timern aktualisiere und ein paar Buttons, um z.B. eine txt-Datei anzuzeigen, in die während der Laufzeit geschrieben wurde oder um den Zustand einer booleschen Variable zu verändern. Die Threads verwende ich hauptsächlich um Module über USB/Ethernet einzulesen oder für TCPIP-Verbindungen.
Problem:
Die Anwendung läuft am Anfang für eine gewisse Zeit reibungslos (etwa 1h bis 3h). Danach friert die GUI ein, aber das Programm läuft im Hintergrund immer noch korrekt weiter. Der Roboter bewegt sich weiterhin korrekt und die Logdateien werden richtig befüllt. Die Label werden nicht aktualisiert und die Button funktionierten nicht mehr.
Kleines Bauchgefühl: Die GUI friert gefühlt schneller ein, wenn Buttons gedrückt werden, als ohne.
Ich wäre für jeden Ratschlag dankbar.
Hintergrund:
Ich habe eine Windows Forms App (in VB.Net), die die Bewegungen eines Roboterarms steuert und überwacht. Dies passiert durch mehrere Threads (ca. 5-7) während der Laufzeit. Variablen, die von mehreren Threads verwendet werden, synchronisiere ich mit synclock. Ich baue ebenfalls 2 TCPIP-Verbindungen mit anderen Programmen/Rechnern auf. Leider kann ich keinen Code zur Verfügung stellen. Die GUI hat ein paar Labels, die ich regelmäßig mit Timern aktualisiere und ein paar Buttons, um z.B. eine txt-Datei anzuzeigen, in die während der Laufzeit geschrieben wurde oder um den Zustand einer booleschen Variable zu verändern. Die Threads verwende ich hauptsächlich um Module über USB/Ethernet einzulesen oder für TCPIP-Verbindungen.
Problem:
Die Anwendung läuft am Anfang für eine gewisse Zeit reibungslos (etwa 1h bis 3h). Danach friert die GUI ein, aber das Programm läuft im Hintergrund immer noch korrekt weiter. Der Roboter bewegt sich weiterhin korrekt und die Logdateien werden richtig befüllt. Die Label werden nicht aktualisiert und die Button funktionierten nicht mehr.
Kleines Bauchgefühl: Die GUI friert gefühlt schneller ein, wenn Buttons gedrückt werden, als ohne.
Ich wäre für jeden Ratschlag dankbar.