Added AMXX-Studio to CVS
This commit is contained in:
58
editor/studio/UnitReadThread.pas
Executable file
58
editor/studio/UnitReadThread.pas
Executable file
@ -0,0 +1,58 @@
|
||||
unit UnitReadThread; // from AMXX-Edit v2
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Graphics;
|
||||
|
||||
type
|
||||
TReadThread = class(TThread)
|
||||
public
|
||||
ReadTCP: Boolean;
|
||||
protected
|
||||
Read: String;
|
||||
procedure Execute; override;
|
||||
procedure AddRead;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses UnitfrmSocketsTerminal;
|
||||
|
||||
{ TReadThread }
|
||||
|
||||
procedure TReadThread.AddRead;
|
||||
begin
|
||||
frmSocketsTerminal.OnRead(Read);
|
||||
end;
|
||||
|
||||
procedure TReadThread.Execute;
|
||||
begin
|
||||
if ReadTCP then begin
|
||||
frmSocketsTerminal.IdTCPClient.ReadTimeout := 50;
|
||||
repeat
|
||||
try
|
||||
Read := frmSocketsTerminal.IdTCPClient.ReadLn;
|
||||
Synchronize(AddRead);
|
||||
except
|
||||
// nothing
|
||||
end;
|
||||
until (Terminated) or (not frmSocketsTerminal.IdTCPClient.Connected);
|
||||
end
|
||||
else begin
|
||||
frmSocketsTerminal.IdUDPClient.ReceiveTimeout := 50;
|
||||
repeat
|
||||
try
|
||||
Read := frmSocketsTerminal.IdUDPClient.ReceiveString;
|
||||
if Read <> '' then // if ReadTimeout then Read = ''
|
||||
Synchronize(AddRead);
|
||||
except
|
||||
// nothing
|
||||
end;
|
||||
until (Terminated) or (not frmSocketsTerminal.IdUDPClient.Active);
|
||||
end;
|
||||
Free;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Reference in New Issue
Block a user