const str optimization
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
unit Unit2;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
DUnitX.TestFramework,AG.Logs,System.Classes,System.IOUtils,System.SysUtils,Winapi.Windows;
|
||||
DUnitX.TestFramework, AG.Logs, System.Classes, System.IOUtils,
|
||||
System.SysUtils, Winapi.Windows;
|
||||
|
||||
type
|
||||
|
||||
@@ -20,32 +22,34 @@ implementation
|
||||
|
||||
procedure TMyTestObject.Test1;
|
||||
var
|
||||
MultiLog:TAGLog;
|
||||
Stream:TStream;
|
||||
s:TBytes;
|
||||
MultiLog: TAGLog;
|
||||
Stream: TStream;
|
||||
s: TBytes;
|
||||
begin
|
||||
MultiLog:=TAGMultiLog.Create(nil);
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGNullLog.Create());
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGDiskLog.Create('test.log'));
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGRamLog.Create());
|
||||
MultiLog := TAGMultiLog.Create(nil);
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGNullLog.Create());
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGDiskLog.Create('test.log'));
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGRamLog.Create());
|
||||
{$IFNDEF MSWINDOWS}(MultiLog as TAGMultiLog).Logs.Add(TAGCommandLineLog.Create(GetStdHandle(STD_OUTPUT_HANDLE))){$ENDIF};
|
||||
try
|
||||
s:=TFile.ReadAllBytes('test2.log');
|
||||
except
|
||||
s:=TBytes.Create();
|
||||
end;
|
||||
Stream:=TFileStream.Create('test2.log',fmCreate+fmOpenReadWrite+fmShareDenyWrite);
|
||||
Stream.WriteBuffer(s,length(s));
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGStreamLog.Create(Stream));
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGCallBackLog.Create(procedure(s:string)
|
||||
begin
|
||||
Self.WriteLn(s);
|
||||
end));{}
|
||||
MultiLog.Write('Str Test');
|
||||
MultiLog.Write('Str+Object Test',self);
|
||||
FreeAndNil(MultiLog);
|
||||
try
|
||||
s := TFile.ReadAllBytes('test2.log');
|
||||
except
|
||||
s := TBytes.Create();
|
||||
end;
|
||||
Stream := TFileStream.Create('test2.log', fmCreate + fmOpenReadWrite +
|
||||
fmShareDenyWrite);
|
||||
Stream.WriteBuffer(s, length(s));
|
||||
(MultiLog as TAGMultiLog).Logs.Add(TAGStreamLog.Create(Stream));
|
||||
(MultiLog as TAGMultiLog)
|
||||
.Logs.Add(TAGCallBackLog.Create(procedure(s: string)
|
||||
begin Self.WriteLn(s); end)); { }
|
||||
MultiLog.Write('Str Test');
|
||||
MultiLog.Write('Str+Object Test', Self);
|
||||
FreeAndNil(MultiLog);
|
||||
end;
|
||||
|
||||
initialization
|
||||
TDUnitX.RegisterTestFixture(TMyTestObject);
|
||||
|
||||
TDUnitX.RegisterTestFixture(TMyTestObject);
|
||||
|
||||
end.
|
||||
|
||||
Reference in New Issue
Block a user