VEEforum.de deutschsprachiges Forum für VEE Entwickler

Normale Version: VEE Totalabsturz beim Benutzen von Thread
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Ich greife auf meine SerialDevices (Serielle Schnittstelle für RS 232/485) über Threads zu. Eine Zeitlang funktioniert das. Irgendwann stürz das Programm ab. Ich benutze W10, Vee 9.33, CE 2019 18.1.24715.0

Der eigentliche Fehler wird von einer If/Then verursacht (in diesem Falle). Kann mir jemand erklären warum das so ist?

Bildanhänge habe ich beigefügt. Gerne Poste ich auch meinen Quellcode wenn es nützlich ist. Auch wenn keine Hardware dranhängt läuft das Programm, wegen eines Fehlerhandlers. Trotzdem tritt dieser Fehler auf. Das habe ich zu Hause getestet.

Gruß MaxSchmidtFan
Hallo,
nach meiner Erfahrung funktionieren Threats nicht, wenn externe Aufrufe im Spiel sind. Eine zeitlang geht es, und dann gibt es spontane Abstürze.
Ich habe auch schon beobachtet, das nach Threats mit externen Aufrufen Variable falsche Werte enthalten, also Werte, die eigentlich unmöglich drin stehen dürften.
Ich hatte monatelang probiert ein Programm stabil zu bekommen, das alle 20 Sekunden im Hintergrund einen Temperaturwert über die serielle Schnittstelle einliest- vergebens.
Ich vermute, das irgendwelche Speicherbereiche (Stack) falsch reserviert werden und "doppelt" genutzt werden, sonst gäbe es keine falschen Werte in den Variablen.
Letztentlich habe ich das Temperatureinlesen über ein eigenständiges VEE Programm gelöst, das mit dem zweiten VEE Programm die Temperaturwerte über Dateien austauscht.
Seidem gibts keine Abstürze mehr.
Nachdem VEE ja nicht mehr weiterentwickelt wird, wird dieses Problem auch kaum mehr behoben werden.

Gruß Peter
Servus und Danke für die Info.

Meine Überlegungen gingen auch schon so in diese Richtung. Verschiedene Tests mit meinem Programm haben mich das auch vermuten lassen, obwohl ich es nicht belegen kann. Zudem war alles im jeweiligen Thread programmiert und dieser hatte keine externen Aufrufe außer auf die jeweilig nur in diesem Programmabschnitt benutzte Netzwerkschnittstelle. Ich habe mein Programm jetzt ohne Threads umgesetzt. Seitdem läuft es stabil.

Gerne würde ich auch Daten zwischen zwei VEE Programmen austauschen. Über Dateien bekomme ich die notwendige Geschwindigkeit nicht zusammen und die Beispiele mit To/From Socket funktionieren bei mir irgendwie nicht richtig. Vielleicht verstehe ich auch noch nicht alles was man dazu wissen sollte.

Ein funktionierendes Beispiel To/From Socket für W10 und VEE 9.33 wäre wünschenswert.

In diesem Sinne ein frohes Weihnachtsfest.
Referenz-URLs