* May 18th, 2005: Starting to develop AMXX-Edit v2 as a kind of open source
This commit is contained in:
60
editor/editor2/UnitReadThread.pas
Executable file
60
editor/editor2/UnitReadThread.pas
Executable file
@@ -0,0 +1,60 @@
|
||||
unit UnitReadThread;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Graphics;
|
||||
|
||||
type
|
||||
TReadThread = class(TThread)
|
||||
public
|
||||
ReadTCP: Boolean;
|
||||
protected
|
||||
Read: String;
|
||||
procedure Execute; override;
|
||||
procedure AddRead;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses UnitfrmSockets;
|
||||
|
||||
{ TReadThread }
|
||||
|
||||
procedure TReadThread.AddRead;
|
||||
begin
|
||||
frmSocketTerminal.OnRead(Read);
|
||||
end;
|
||||
|
||||
procedure TReadThread.Execute;
|
||||
begin
|
||||
if ReadTCP then begin
|
||||
frmSocketTerminal.IdTCPClient.ReadTimeout := 50;
|
||||
repeat
|
||||
try
|
||||
Read := frmSocketTerminal.IdTCPClient.ReadLn;
|
||||
Synchronize(AddRead);
|
||||
except
|
||||
// nothing
|
||||
end;
|
||||
until (Terminated) or (not frmSocketTerminal.IdTCPClient.Connected);
|
||||
end
|
||||
else begin
|
||||
frmSocketTerminal.IdUDPClient.ReceiveTimeout := 50;
|
||||
repeat
|
||||
try
|
||||
Read := frmSocketTerminal.IdUDPClient.ReceiveString;
|
||||
if Read <> '' then
|
||||
Synchronize(AddRead);
|
||||
except
|
||||
// nothing
|
||||
end;
|
||||
until (Terminated) or (not frmSocketTerminal.IdUDPClient.Active);
|
||||
end;
|
||||
Free;
|
||||
Read := 'fu@u';
|
||||
Synchronize(AddRead);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user