var vs ref (DELPHI和.net的互操作-1)

通过Remobject 达到delphi和c#.net的互操作。[@more@]

公司有一个产品,后台采用.net开发,前台是delphi。

通过Remobjects可以达到两者的互通,而且比较方便。

1. 获得远程asmx的地址,跟着一个?wsdl,可以把.net webservices导入到RO内,注意在点击import之前选择CheckBox(Wrapper .net parameters)

2. CoServices.create 的参数要传入msg和channel,其中的channal需要使用winhttp,msg需要采用soap

3. 调用对应services内的方法即可

以上当然是比较刻板的一些内容,照做即可。值得说的是:delphi调用.net的services,不但可以传值,也可以传引用,比如delphi的var参数,对应.net的ref参数。

另外一个delphi中的数据集dataset是非常好用的,在系统开发中也非常常用,但是.net中并不直接存在这个对应的类型,更加没有办法直接通过网络传递了。

如何让他们直接的对话呢?我们以前采用的方式是通过自己打包dataset到xml的方式,看起来很麻烦,现在准备采用的是csv方式,也就是说,。net把数据保存到StringStream内,通过String传递给客户端,客户端通过clientdataset或者ado,直接装入csv即可。

这样做有些问题。首先是二进制的内容肯定不支持的了,其次字段内有nr的也没有办法。

不过我们现在这个系统不需要二进制的,有nr的可以做一个转义处理就好。不需要做xml-object mapping,也不必写一些mapping class ,转换为csv,从csv到dataset,都是.net dataset,delphi dataset 本身就有的功能。

因此相对编码为xml的来说,代码有少很多,还是要方便的多了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/764121/viewspace-890578/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/764121/viewspace-890578/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值