AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Threadsynchronisation

Ein Thema von StanY · begonnen am 13. Nov 2004 · letzter Beitrag vom 15. Nov 2004
 
StanY

Registriert seit: 6. Aug 2004
145 Beiträge
 
#1

Threadsynchronisation

  Alt 13. Nov 2004, 15:16
Ich habe ein Problem mit der Synchronisation bei meinen Threads.

Ich habe ein Socket (TIdTCPClient) und dazu einen Thread, welcher ReadLn aufruft:

Delphi-Quellcode:
procedure TMyThread.Execute();
var
  Msg: String;
begin
  while Connection[SockId].Connected = true do begin
    Msg := Connection[SockId].ReadLn;
    WriteLn(Msg);
  end;
end;
Nun habe ich beim Beenden das Problem, dass ich bei dieser Zeile:
WriteLn(Msg); Einen Fehler bekomme, weil Connection[SockId] nicht 'connected' ist.

Lösen wollte ich das Problem so, dass ich beim Beenden folgendes Aufrufe:

Delphi-Quellcode:
  //erst die Threads beenden, damit keine Fehler auftreten
  for i := 0 to High(Connection) do begin
    Connection[i].Thread.Terminate;
  end;
und ein Stück code weiter:

Delphi-Quellcode:
  for i := 0 to High(Connection) do begin
    Connection[i].Disconnect;
    Connection[i].Free;
  end;
Allerdings bekomme ich denselben Fehler \:

Wer weiß Rat? (:
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz