Delphi

本类阅读TOP10

·分布式网络考试系统原型分析及实现
·游戏外挂设计技术探讨①
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·试题库开发中非文本数据的处理
·如何将几个DBGRID里的内容导入同一个EXCEL表中....的问题
·如何使用Delphi设计强大的服务器程序
·工人线程中关闭窗体的实现
·用DLL方式封装MDI子窗体。
·支持XP下托盘栏气球提示的托盘单元

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
李维的 Demo 中可以改进的地方

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

    李维这次的内地之行(见《感受李维》一文)可以说在 Borland 的用户掀起了一场风暴,在几个比较大的程序员论坛上,这是这几最热门的话题之一,我在 CSDN 上发了一贴关于他上海之行的文字,结果成为我发过的有史以来反响最强的一个贴子。
    在这次 Borland 举办的 WebService 技术研讨会上,李维做了几个 Demo 来演示 Borland 的 WebService 解决方案,这是几个非常好的 Demo ,它们以一种很简单的方式,较为全面地展示了用 Borland 的几个主要产品进行 SOAP/WebService 开发的实现,但是我认为其中还是有地方可以改进。

    李维也是用打了 Update 2# 的 Delphi 6,这个版本的 Delphi 6 在 SOAP/WebService 应用开发方面有比较大的改进(见《DELPHI 6.02 抢先研究 -- BizSnap/SOAP/WebService 之四》一文),其中最大的改进之一便是 WSDL Import Wizard 。新的 WSDL Import Wizard 主要改进在:

  1.  增加了一个导入结果查看界面,可以以树形显示导入的 WSDL 中所含的接口内容,并且可以预览生成的接口单元;
  2. 生成的接口单元包含了 HTTP 远程接口对象生成;
  3. 支持新的 SOAP 标准,可以导入 Visual Studio.net 生成的 WSDL。 

    而上述几点中的第二点就是李维可以改进的一点。在《DELPHI 6 抢先研究 -- BizSnap/SOAP/WebService 之一》一文的例子中所采用的方法就是李维的 Demo 中所用的方法,即放上一个 HTTPRIO 控件,设置好 URL 属性,再用如下的代码来访问远程接口:

Var
  p : ISoapHello;
begin
  p := HTTPRIO1 As ISoapHello;
  Label1.Caption := p.GetHello( StrToInt( Edit1.Text ) );
end;

    但是因为前面所说的 WSDL Import Wizard 的第二点改进,所以已经可以不用这么麻烦了,不需要再放 HTTPRIO 控件,而且代码也简单得只要一句:

  Label1.Caption := GetISoapHello.GetHello( StrToInt( Edit1.Text ) );

    其中的 GetISoapHello 是一个函数,返回一个实现 ISoapHello 远程接口的对象,在导入 WSDL 时生成的接口单元文件里定义并实现的,它的功能就是新建一个 HTTPRIO 对象,并根据 WSDL 设置好所有的属性。

[Mental Studio]猛禽 Apr.13-02




相关文章

相关软件