web service 地址加载后参数类型问题

appleyk 2016-05-19 09:55:12
对方web service 是java写的,其中一个方法的参数是数组类型,delphi7导入地址后,参数类型为stringArray,delphi没有此类型,对方又不肯改参数类型,如何是好? type stringArray = array of string;后,发现调用对方接口方法的时候,传入参数,传入一个 array of string 类型的值后,发现报 ‘incompatible types’,郁闷,哪里的问题?
...全文
161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊吹萃香 2016-05-19
  • 打赏
  • 举报
回复
先试过再说,生成的代码有问题就得去动,而且如果你用的是D7这种老版本,生成的一些有问题也是常事
appleyk 2016-05-19
  • 打赏
  • 举报
回复
引用 4 楼 masm32v9 的回复:
我看你最前面说的意思,不就是说自己加上了 ArrayOfString = array of WideString;这个定义,然后在调用时提示不兼容的类型吗?那问题就来了,你是怎么传参数调用的?
我直接拿来用 var arg4:ArrayOfString 然后传这个,是可以的 前提是编译器加上了那行类型转换代码 如果没加,就手动加,这个还没测试,不知道可行不,感觉加载过来的wsdl地址,里面的pas文件不能随便的改动啊
伊吹萃香 2016-05-19
  • 打赏
  • 举报
回复
我看你最前面说的意思,不就是说自己加上了 ArrayOfString = array of WideString;这个定义,然后在调用时提示不兼容的类型吗?那问题就来了,你是怎么传参数调用的?
appleyk 2016-05-19
  • 打赏
  • 举报
回复
引用 1 楼 masm32v9 的回复:
说明你对delphi的语法还是不熟,用实际例子说明下:

type
  TStringArray = array of string;

procedure MyPrint(Arr: TStringArray);
var
  i: Integer;
begin
  for i := Low(Arr) to High(Arr) do
    Form1.Memo1.Lines.Add(Arr[i]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  // MyArr: array of string; 类型将不匹配
  MyArr: TStringArray; // 正常
begin
  SetLength(MyArr, 2);
  MyArr[0] := '1';
  MyArr[1] := '2';
  MyPrint(MyArr);
end;
,我说的可能不是很明白,写了个C#的web服务进行测试,貌似发现问题了,string[] 类型在delphi里面会被自动定义为 ArrayOfString = array of WideString;//这一行代码是唯一系统自动生成的,但是,客户那调用java的服务(服务里的方法有个string[]类型的参数)的时候,却发现这行代码没有生成,导致const param: ArrayOfString,这个ArrayOfString类型未定义,客户真是麻烦,不配合远程,所以具体那边什么情况,我也没法跟,唉。。。
appleyk 2016-05-19
  • 打赏
  • 举报
回复
错了,上面生成那个,改为增加。。。。完全两个意思
伊吹萃香 2016-05-19
  • 打赏
  • 举报
回复
说明你对delphi的语法还是不熟,用实际例子说明下:

type
  TStringArray = array of string;

procedure MyPrint(Arr: TStringArray);
var
  i: Integer;
begin
  for i := Low(Arr) to High(Arr) do
    Form1.Memo1.Lines.Add(Arr[i]);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  // MyArr: array of string; 类型将不匹配
  MyArr: TStringArray; // 正常
begin
  SetLength(MyArr, 2);
  MyArr[0] := '1';
  MyArr[1] := '2';
  MyPrint(MyArr);
end;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧