Я новичок в веб-службах и получаю нарушение прав доступа в своем клиентском приложении по этой строке:
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 или что я делаю не так?