![]() | Products |
| Home » Technical Support » Elevate Web Builder Technical Support » Incident Reports » Incident Reports Addressed for Version 2.05 » View Incident Report |
| Reported By: Boris B Reported On: 1/31/2016 For: Version 2.04 Build 1 |
unit Unit1;
interface
uses WebCore, WebUI, WebForms, WebCtrls, WebLabels, WebBtns, WebHTTP;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
ServerRequestQueue1: TServerRequestQueue;
procedure Button1Click(Sender: TObject);
procedure ServerRequest1Complete(Request: TServerRequest);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
type
TUserRole = class(TPersistent)
private
fID: integer;
fName: string;
published
property ID: integer read fID write fID;
property Name: string read fName write fName;
end;
TUserDetails = class(TPersistent)
private
fID: integer;
fName: string;
fRoles: array of TUserRole;
protected
function LoadProperty(AReader: TReader): Boolean; override;
published
property ID: integer read fID write fID;
property Name: string read fName write fName;
property Roles: array of TUserRole read fRoles write fRoles;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
authRequest:TServerRequest;
begin
authRequest := ServerRequestQueue1.GetNewRequest;
authRequest.URL := '/api/User';
authRequest.Method := rmGet;
authRequest.OnComplete := ServerRequest1Complete;
ServerRequestQueue1.AddRequest(authRequest);
end;
procedure TForm1.ServerRequest1Complete(Request: TServerRequest);
var
reader: TReader;
userDetails: TUserDetails;
begin
try
reader := TReader.Create;
reader.Initialize(Request.ResponseContent.Text);
userDetails := TUserDetails.Create;
userDetails.Load(reader);
Label1.Caption := Request.ResponseContent.Text; // userDetails.Name + IntToStr( Length(userDetails.Roles) );
except
Label1.Caption := 'error';
end;
end;
function TUserDetails.LoadProperty(AReader: TReader): Boolean;
var
TempPropertyName: String;
begin
Result:=False;
TempPropertyName:=AReader.GetPropertyName;
if (TempPropertyName <> '') then
begin
if SameText(TempPropertyName,'Roles') then
begin
Result:=True;
AReader.SkipPropertyName;
AReader.SkipPropertySeparator;
LoadArray(AReader);
end
else
Result:=inherited LoadProperty(AReader);
end;
end;
end.This web page was last updated on Wednesday, April 8, 2026 at 04:38 AM | Privacy Policy © 2026 Elevate Software, Inc. All Rights Reserved Questions or comments ? |

