Thema: Delphi Thread Terminate

Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

Re: Thread Terminate

  Alt 14. Mär 2010, 16:41
Zitat von schweindi:
1) die Memo Sachen habe ich nur eingebaut, damit ich sehe, was überhaupt gesendet/ empfangen wird
Ist aber nunmal verboten, da die VCL nicht threadsicher ist.

Zitat von schweindi:
2) Die Schleife wird sofort erreicht, doch sie wird erst bei einem Inputchar (eben RXCHAR) beendet.
Du bekommst aber innerhalb der Schleife keinen neuen Wert für signaled - da fehlt einfach etwas.

Zitat von schweindi:
Deshalb wollte ich eben, als zweite Bedingung (Stopped = True) einsetzen, damit ich, wenn ich zb die Verbindung zum Com Port unterbreche den Thread anhalten kann.
Das ist auch OK.

Zitat von schweindi:
3) Wenn ich das Programm ausführe wird die Memo mit "Signaled : DWORD" gefüllt, eben jedes Mal kommt eine 0, da kein Char empfangen wurde - dh die Schleife wird ausgeführt.
Ja, aber der Wert von Signaled ändert sich nicht innerhalb der Schleife.

Zitat von schweindi:
Es soll ja nach der Procedure Stop nicht mehr auf Input gewartet werden (also schleife soll nicht mehr ausgeführt werden).
Und das dachte ich kann ich mir der Abbruchbedingung "until (Signaled = EV_RXCHAR) or (Stopped = True);" erreichen.
Schon, aber der Aufruf von Input wird nicht durch Stopped verhindert und da rufst du DoThread wieder auf und der Zirkus geht weiter.
Uwe Raabe
  Mit Zitat antworten Zitat