|
@@ -4,7 +4,6 @@ program JsonSerializerTest1;
|
|
|
|
|
|
uses
|
|
uses
|
|
SysUtils,
|
|
SysUtils,
|
|
- Generics.Collections,
|
|
|
|
Quick.Commons,
|
|
Quick.Commons,
|
|
Quick.Console,
|
|
Quick.Console,
|
|
Quick.Json.Serializer;
|
|
Quick.Json.Serializer;
|
|
@@ -21,7 +20,7 @@ type
|
|
property Port : Integer read fPort write fPort;
|
|
property Port : Integer read fPort write fPort;
|
|
end;
|
|
end;
|
|
|
|
|
|
- THostList = TObjectList<THost>;
|
|
|
|
|
|
+ THostList = TArray<THost>;
|
|
|
|
|
|
TConfig = class
|
|
TConfig = class
|
|
private
|
|
private
|
|
@@ -51,12 +50,13 @@ var
|
|
|
|
|
|
constructor TConfig.Create;
|
|
constructor TConfig.Create;
|
|
begin
|
|
begin
|
|
- fHosts := THostList.Create(True);
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
destructor TConfig.Destroy;
|
|
destructor TConfig.Destroy;
|
|
|
|
+var
|
|
|
|
+ host : THost;
|
|
begin
|
|
begin
|
|
- fHosts.Free;
|
|
|
|
|
|
+ for host in fHosts do host.Free;
|
|
inherited;
|
|
inherited;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -75,17 +75,17 @@ begin
|
|
host.Port := 80;
|
|
host.Port := 80;
|
|
config.DebugMode := True;
|
|
config.DebugMode := True;
|
|
config.Level := 1;
|
|
config.Level := 1;
|
|
- config.Hosts.Add(host);
|
|
|
|
|
|
+ config.Hosts := config.Hosts + [host];
|
|
|
|
|
|
host := THost.Create;
|
|
host := THost.Create;
|
|
host.Name := 'Host 2';
|
|
host.Name := 'Host 2';
|
|
host.IP := '192.168.1.1';
|
|
host.IP := '192.168.1.1';
|
|
host.Port := 443;
|
|
host.Port := 443;
|
|
- config.Hosts.Add(host);
|
|
|
|
|
|
+ config.Hosts := config.Hosts + [host];
|
|
|
|
|
|
json := serializer.ObjectToJson(config,True);
|
|
json := serializer.ObjectToJson(config,True);
|
|
cout(json,ccWhite);
|
|
cout(json,ccWhite);
|
|
- coutFmt('Capacity: %d / Count: %d',[config.Hosts.Capacity,config.Hosts.Count],etInfo);
|
|
|
|
|
|
+ coutFmt('Count: %d',[High(config.Hosts) + 1],etInfo);
|
|
finally
|
|
finally
|
|
config.Free;
|
|
config.Free;
|
|
end;
|
|
end;
|
|
@@ -97,7 +97,7 @@ begin
|
|
serializer.JsonToObject(config,jsonstring);
|
|
serializer.JsonToObject(config,jsonstring);
|
|
json := serializer.ObjectToJson(config,True);
|
|
json := serializer.ObjectToJson(config,True);
|
|
cout(json,ccWhite);
|
|
cout(json,ccWhite);
|
|
- coutFmt('Capacity: %d / Count: %d',[config.Hosts.Capacity,config.Hosts.Count],etInfo);
|
|
|
|
|
|
+ coutFmt('Count: %d',[High(config.Hosts) + 1],etInfo);
|
|
finally
|
|
finally
|
|
config.Free;
|
|
config.Free;
|
|
end;
|
|
end;
|
|
@@ -109,7 +109,7 @@ begin
|
|
serializer.JsonToObject(config,jsonstring2);
|
|
serializer.JsonToObject(config,jsonstring2);
|
|
json := serializer.ObjectToJson(config,True);
|
|
json := serializer.ObjectToJson(config,True);
|
|
cout(json,ccWhite);
|
|
cout(json,ccWhite);
|
|
- coutFmt('Capacity: %d / Count: %d',[config.Hosts.Capacity,config.Hosts.Count],etInfo);
|
|
|
|
|
|
+ coutFmt('Count: %d',[High(config.Hosts) + 1],etInfo);
|
|
finally
|
|
finally
|
|
config.Free;
|
|
config.Free;
|
|
end;
|
|
end;
|