Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TClientsocket soll warten in Thread (https://www.delphipraxis.net/143658-tclientsocket-soll-warten-thread.html)

shmia 20. Nov 2009 16:04

Re: TClientsocket soll warten in Thread
 
Versuch' mal statt einem Sleep:
Delphi-Quellcode:
WaitForSingleObject(self.Handle {handle of object to wait for},
    30000  {time-out interval in milliseconds }  );
Gegebenfalls musst du noch das Result von WaitForSingleObject auswerten und mit WAIT_TIMEOUT vergleichen.

Schwedenbitter 25. Nov 2009 08:59

Re: TClientsocket soll warten in Thread
 
Zitat:

Zitat von shmia
Versuch' mal statt einem Sleep: ...

oder auch so (edit: OHNE THREAD):
Delphi-Quellcode:
Procedure Delay(Zeit: DWord);
Var
   Start         : DWord;
Begin
   Start:=GetTickCount;
   While (GetTickCount - Start) <= Zeit Do
      Application.ProcessMessages;
End;
So mache ich das.

Gruß, Alex

sirius 25. Nov 2009 09:24

Re: TClientsocket soll warten in Thread
 
Hast du tatsächlich die Client-Komponente in einem Thread? Wenn ja, dann wird es etwas aufwendiger als bisher beschrieben, ansonsten mache das, was uoeb7gp gesagt hat.

shmia 25. Nov 2009 13:20

Re: TClientsocket soll warten in Thread
 
Application.ProcessMessages aus einem Thread heraus - das geht ja mal gar nicht.
Dann werden nämlich Windows-Botschaften aus dem Hautpthread und dem Nebenthread bearbeitet => das verträgt die VCL nicht!

Schwedenbitter 25. Nov 2009 13:49

Re: TClientsocket soll warten in Thread
 
Ich hatte bei meiner Antwort den Titel des Themas nicht beachtet.
Ich ging bei der Antwort deshalb davon aus, dass es einfach nur um ein "Warten" ging. Ich habe daher meine Antwort etwas modifiziert!

Gruß, Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz