|
@@ -92,11 +92,11 @@ type
|
|
// Asynchronous line reader
|
|
// Asynchronous line reader
|
|
// -------------------------------------------------------------------
|
|
// -------------------------------------------------------------------
|
|
|
|
|
|
- TLineNotify = procedure(const ALine: String) of object;
|
|
|
|
|
|
+ TLineNotify = procedure(const ALine: AnsiString) of object;
|
|
|
|
|
|
TGenericLineReader = class
|
|
TGenericLineReader = class
|
|
protected
|
|
protected
|
|
- RealBuffer, FBuffer: PChar;
|
|
|
|
|
|
+ RealBuffer, FBuffer: PAnsiChar;
|
|
FBytesInBuffer: Integer;
|
|
FBytesInBuffer: Integer;
|
|
FOnLine: TLineNotify;
|
|
FOnLine: TLineNotify;
|
|
InCallback, DoStopAndFree: Boolean;
|
|
InCallback, DoStopAndFree: Boolean;
|
|
@@ -108,7 +108,7 @@ type
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
procedure Run; // Process as many lines as possible
|
|
procedure Run; // Process as many lines as possible
|
|
|
|
|
|
- property Buffer: PChar read FBuffer;
|
|
|
|
|
|
+ property Buffer: PAnsiChar read FBuffer;
|
|
property BytesInBuffer: Integer read FBytesInBuffer;
|
|
property BytesInBuffer: Integer read FBytesInBuffer;
|
|
property OnLine: TLineNotify read FOnLine write FOnLine;
|
|
property OnLine: TLineNotify read FOnLine write FOnLine;
|
|
end;
|
|
end;
|
|
@@ -144,7 +144,7 @@ type
|
|
|
|
|
|
TWriteBuffer = class(TStream)
|
|
TWriteBuffer = class(TStream)
|
|
protected
|
|
protected
|
|
- FBuffer: PChar;
|
|
|
|
|
|
+ FBuffer: PAnsiChar;
|
|
FBytesInBuffer: Integer;
|
|
FBytesInBuffer: Integer;
|
|
FBufferSent: Boolean;
|
|
FBufferSent: Boolean;
|
|
FOnBufferEmpty: TNotifyEvent;
|
|
FOnBufferEmpty: TNotifyEvent;
|
|
@@ -158,11 +158,11 @@ type
|
|
procedure WantWrite; virtual; abstract;
|
|
procedure WantWrite; virtual; abstract;
|
|
procedure BufferEmpty; virtual;
|
|
procedure BufferEmpty; virtual;
|
|
public
|
|
public
|
|
- EndOfLineMarker: String;
|
|
|
|
|
|
+ EndOfLineMarker: AnsiString;
|
|
|
|
|
|
constructor Create;
|
|
constructor Create;
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
- procedure WriteLine(const line: String);
|
|
|
|
|
|
+ procedure WriteLine(const line: AnsiString);
|
|
procedure Run; // Write as many data as possible
|
|
procedure Run; // Write as many data as possible
|
|
|
|
|
|
property BytesInBuffer: Integer read FBytesInBuffer;
|
|
property BytesInBuffer: Integer read FBytesInBuffer;
|
|
@@ -498,9 +498,9 @@ end;
|
|
procedure TGenericLineReader.Run;
|
|
procedure TGenericLineReader.Run;
|
|
var
|
|
var
|
|
NewData: array[0..1023] of Byte;
|
|
NewData: array[0..1023] of Byte;
|
|
- p: PChar;
|
|
|
|
|
|
+ p: PAnsiChar;
|
|
BytesRead, OldBufSize, CurBytesInBuffer, LastEndOfLine, i, LineLength: Integer;
|
|
BytesRead, OldBufSize, CurBytesInBuffer, LastEndOfLine, i, LineLength: Integer;
|
|
- line: String;
|
|
|
|
|
|
+ line: AnsiString;
|
|
FirstRun: Boolean;
|
|
FirstRun: Boolean;
|
|
begin
|
|
begin
|
|
FirstRun := True;
|
|
FirstRun := True;
|
|
@@ -631,7 +631,7 @@ end;
|
|
|
|
|
|
procedure TAsyncStreamLineReader.NoData;
|
|
procedure TAsyncStreamLineReader.NoData;
|
|
var
|
|
var
|
|
- s: String;
|
|
|
|
|
|
+ s: AnsiString;
|
|
begin
|
|
begin
|
|
if (FDataStream = FBlockingStream) or (FDataStream.Position = FDataStream.Size) then
|
|
if (FDataStream = FBlockingStream) or (FDataStream.Position = FDataStream.Size) then
|
|
begin
|
|
begin
|
|
@@ -722,18 +722,18 @@ begin
|
|
Result := Count;
|
|
Result := Count;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TWriteBuffer.WriteLine(const line: String);
|
|
|
|
|
|
+procedure TWriteBuffer.WriteLine(const line: AnsiString);
|
|
var
|
|
var
|
|
- s: String;
|
|
|
|
|
|
+ s: AnsiString;
|
|
begin
|
|
begin
|
|
s := line + EndOfLineMarker;
|
|
s := line + EndOfLineMarker;
|
|
- WriteBuffer(s[1], Length(s));
|
|
|
|
|
|
+ WriteBuffer(s[1], Length(s)*sizeOf(Char));
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TWriteBuffer.Run;
|
|
procedure TWriteBuffer.Run;
|
|
var
|
|
var
|
|
Written: Integer;
|
|
Written: Integer;
|
|
- NewBuf: PChar;
|
|
|
|
|
|
+ NewBuf: PAnsiChar;
|
|
Failed: Boolean;
|
|
Failed: Boolean;
|
|
begin
|
|
begin
|
|
Failed := True;
|
|
Failed := True;
|