【问题标题】:client side web service客户端网络服务
【发布时间】:2011-03-30 06:21:05
【问题描述】:

我是一个 delphi 新手,正在尝试访问 Web 服务,但在设置仪器和仪器阵列以添加到请求时遇到问题。我已经附上了代码,下面的服务定义,任何帮助都会是一个很大的优势。

Var 
abc:submitGetDataRequest;
cc:array_of_instrument;
bb:Instrument;

begin
abc:=submitGetDataRequest.Create;
setlength(cc,2);
bb.id:='ABC';
cc[0]:=bb;
bb.id:='DEF';
cc[1]:=bb;

//abc.instruments:=cc;

当我包含 abc.instruments:=CC 集时,它会给出一个编译错误,说 Instruments 和 array_of_instrument 类型不兼容???我以为他们是一样的??

非常感谢

SubmitGetDataRequest = class(TRemotable)
  private
    Fheaders: GetDataHeaders;
    Ffieldsets: BvalFieldSets;
    Ffieldsets_Specified: boolean;
    Ffields: Fields;
    Ffields_Specified: boolean;
    Finstruments: Instruments;
    procedure Setfieldsets(Index: Integer; const ABvalFieldSets: BvalFieldSets);
    function  fieldsets_Specified(Index: Integer): boolean;
    procedure Setfields(Index: Integer; const AFields: Fields);
    function  fields_Specified(Index: Integer): boolean;
  public
    constructor Create; override;
    destructor Destroy; override;
  published
    property headers:     GetDataHeaders  read Fheaders write Fheaders;
    property fieldsets:   BvalFieldSets   Index (IS_OPTN) read Ffieldsets 
                              write Setfieldsets stored fieldsets_Specified;
    property fields:      Fields          Index (IS_OPTN) read Ffields 
                              write Setfields stored fields_Specified;
    property instruments: Instruments     read Finstruments write Finstruments;
  end;

  Array_Of_Instrument = array of Instrument;  
  Array_Of_Macro = array of Macro;            


  Instruments = class(TRemotable)
  private
    Finstrument: Array_Of_Instrument;
    Finstrument_Specified: boolean;
    Fmacro: Array_Of_Macro;
    Fmacro_Specified: boolean;
    procedure Setinstrument(Index: Integer; 
                    const AArray_Of_Instrument: Array_Of_Instrument);
    function  instrument_Specified(Index: Integer): boolean;
    procedure Setmacro(Index: Integer; const AArray_Of_Macro: Array_Of_Macro);
    function  macro_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property instrument: Array_Of_Instrument  Index (IS_OPTN or IS_UNBD) 
                          read Finstrument write Setinstrument stored instrument_Specified;
    property macro:      Array_Of_Macro       Index (IS_OPTN or IS_UNBD) 
                          read Fmacro write Setmacro stored macro_Specified;
  end;

 Macro = class(TRemotable)
  private
    FprimaryQualifier: PrimaryQualifier;
    FsecondaryQualifier: Array_Of_SecondaryQualifier;
    FsecondaryQualifier_Specified: boolean;
    Foverrides: Overrides;
    Foverrides_Specified: boolean;
    procedure SetsecondaryQualifier(Index: Integer; 
                      const AArray_Of_SecondaryQualifier: Array_Of_SecondaryQualifier);
    function  secondaryQualifier_Specified(Index: Integer): boolean;
    procedure Setoverrides(Index: Integer; const AOverrides: Overrides);
    function  overrides_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property primaryQualifier:   PrimaryQualifier             
                     read FprimaryQualifier write FprimaryQualifier;
    property secondaryQualifier: Array_Of_SecondaryQualifier  
                     Index (IS_OPTN or IS_UNBD) read FsecondaryQualifier 
                     write SetsecondaryQualifier stored secondaryQualifier_Specified;
    property overrides:          Overrides                    
                     Index (IS_OPTN) read Foverrides 
                     write Setoverrides stored overrides_Specified;
  end;

仪器 = 类(TRemotable) 私人的 Fid:字符串; 黄键:MarketSector; Fyellowkey_Specified:布尔值; Ftype_:仪器类型; Ftype__指定:布尔值; 覆盖:覆盖; Foverrides_Specified:布尔值; 过程 Setyellowkey(索引:整数;常量 AMarketSector:MarketSector); 功能 Yellowkey_Specified(索引:整数):布尔值; 过程 Settype_(Index: Integer; const AInstrumentType: InstrumentType); 函数类型__Specified(索引:整数):布尔值; 过程 Setoverrides(Index: Integer; const AOverrides: Overrides); function overrides_Specified(Index: Integer): boolean; 民众 析构函数销毁;覆盖; 发表 属性id:字符串读取Fid写入Fid; 属性黄键:MarketSector
索引 (IS_OPTN) 读取 Fyellowkey 写入 Setyellowkey 存储 Yellowkey_Specified; 属性类型_:仪器类型
索引(IS_OPTN)读Ftype_写Settype_存储类型__指定; 属性覆盖:覆盖
索引 (IS_OPTN) 读取 Foverrides 写入 Setoverrides 存储的 overrides_Specified; 结束;

【问题讨论】:

  • 欢迎来到 Stack Overflow。如果您复制并粘贴您的真实代码,它会有所帮助。确保您发布的代码没有任何明显的语法错误,例如在变量声明中使用:=。如果人们不能相信您的问题包含对问题的准确表述,那么他们将不太愿意提供帮助,因为他们会担心他们会浪费时间来查找实际上只是问题中的拼写错误的错误。在准备问题时偷工减料,只会伤害自己。
  • 您想开发一个使用 Web 服务发送或接收数据的客户端应用程序吗?你的代码到底在做什么????

标签: web-services delphi client


【解决方案1】:

仪器是如何定义的??

【讨论】:

  • 我想你应该把它放在评论中而不是作为答案
  • 对不起,我也添加了答案,而不是评论
  • 他应该有,@Rajeem,但只有 29 声望点,他不能。艾伦,你应该编辑你的问题。拜伦已为您将您的“答案”放入问题中,因此您应该尽早删除您的答案,否则您会冒着被人们投票否决的风险,因为它没有回答问题。对于这个“答案”也是如此。
猜你喜欢
  • 1970-01-01
  • 2011-08-10
  • 2012-04-26
  • 2013-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多