нарушение прав доступа после создания объекта, наследуемого от TRemotable - PullRequest
0 голосов
/ 11 января 2019

Я новичок в веб-службах и получаю нарушение прав доступа в своем клиентском приложении по этой строке:

procedure TForm1.Button1Click(Sender: TObject);
var
  req: G110Request;
begin
  req := G110Request.Create;
  req.Header.UserSoftware.name_ := 'somename';//AV!
  //...
end;

Класс G110Request в конечном итоге является TRemotable объектом:

G110Request = class(I1_SinglePack_Type)
  private
  public
    constructor Create; override;
  published
end;

I1_SinglePack_Type = class(Header_Type)
  private
    FBody: RequestData_Type;
  public
    destructor Destroy; override;
  published
    property Body: RequestData_Type  read FBody write FBody;
end;

Header_Type = class(TRemotable)
  private
    FHeader: RequestHeaderData_Type;
  public
    destructor Destroy; override;
  published
    property Header: RequestHeaderData_Type  read FHeader write FHeader;
end;

  RequestHeaderData_Type = class(TRemotable)
  private
    FAuth: RequestAuthHeaderData_Type;
    FUserSoftware: UserSoftware_Type;
    FTransaction: RequestTransactionHeaderData_Type;
  public
    destructor Destroy; override;
  published
    property Auth:         RequestAuthHeaderData_Type         read FAuth write FAuth;
    property UserSoftware: UserSoftware_Type                  read FUserSoftware write FUserSoftware;
    property Transaction:  RequestTransactionHeaderData_Type  read FTransaction write FTransaction;
  end;

constructor G110Request.Create;
begin
  inherited Create;
  FSerializationOptions := [xoLiteralParam];
end;

Существует ли специальное соглашение для классов TRemotable или что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...