我使用Delphi 7,并从WDL文件中导入以创建SOAP客户端。Delphi生成接口代码,其中包含来自WSDL的已发布函数和这些函数的参数类型(类)。
Delphi已确定类似于以下内容:
Message = class(TRemotable)
private
FMessageID: Int64;
Ftimestamp: TXSDateTime;
Fevent: eventType;
FmagicNumber: WideString;
FDataPart: DataPart;
published
property MessageID: Int64 read FMessageID write FMessageID;
property timestamp: TXSDateTime read Ftimestamp write Ftimestamp;
property event: eventType read Fevent write Fevent;
property magicNumber: WideString read FmagicNumber write FmagicNumber;
property DataPart: DataPart read FDataPart write FDataPart;
end;
应该发送为TByteDynArray...
function sendMessage(const theMessage: TByteDynArray;
const data: DataPart): WideString; stdcall;
这需要我将一个对象转换为TByteDnyArray,由于我是Delphi新手,所以我正在通过以下方式进行转换:
theMessageArray := TByteDynArray(theMessage);
当我在调试器中查看对象时,它包含指针(指向和),当我查看TByteDynArray时,我看到的是相同的指针值。因此,似乎“转换”不是我想要的。如何将我的对象转换为所需的TByteDynArray?(并且,可能会“内联”指针指向的对象)
我认为这方面有一种标准方法...