【发布时间】: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