Einzelnen Beitrag anzeigen

Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Absturz der Anwendung nach beenden eines Threads

  Alt 19. Jun 2014, 13:52
Delphi-Version: 5
Hi,

ich habe ein Programm, welches zur Runtime einen, oder mehrere Threads erzeugt. In diesen Thread läuft ein TCP-Client (TWSocket) der eine Verbindung zu einem TCP-Server hält.
Wenn nun der TCP-Server sich verabschiedet, schickt er noch ein "Disconnect" rüber, damit sich der Thread mit dem TCP-Client abarbeiten und beenden kann, was er m.E. auch tut.

Allerdings habe ich folgendes Phänomen:
Wenn sie so ein Thread beendet hat, und ich klicke das Formular der Anwendung an, dann bekomme ich eine Zugriffsverletzung bei 0x00000000: Lesen von Adresse 0x00000000, bzw.
System exception (code 0xc000041d) at 0x7702bda1.
Auch innerhalb der IDE.

Wenn ich aber das Formular nicht anklicke, dann läuft das Programm weiter, erzeugt auch neue Thread, und verbindet sich auch per TCP mit dem Server. Das kann ich x-mal machen, solange ich nicht das Formular der Mainform anklicke.

Woher könnte sowas kommen? Wie kann ich feststellen ob der Thread wirklich beendet ist? Ich weiß nicht wirklich wie ich zur Ursache des Problems komme.

PS: Oben steht die falsche Delphi-Version. Ist XE4, hab ich zu spät gesehen
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo

Geändert von Captnemo (19. Jun 2014 um 14:01 Uhr)
  Mit Zitat antworten Zitat