Delphi编写组件封装asp代码的基本步骤(Asp组件系列)

2016-02-19 13:20 18 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Delphi编写组件封装asp代码的基本步骤(Asp组件系列),一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

  如果你想脱离asp爱好者的水平,那么你就应该学会为asp编写组件。我在google上搜索了一下,Delphi编写asp组件的文章一共就几篇,所以今天写了这篇Delphi编写asp组件的基础文章,希望对新手有点帮助。如果你要学习VB编写asp组件的话,建议看看龙卷风大哥的文章(http://blog.csdn.net/online/category/9939.aspx),不是我可以比的。呵呵:)

  开始吧,让我们一起编写一个”hello world!”的示例。我这里用的是Delphi 7。

  1.文件-新建-其他-ActiveX-ActiveX Library,然后保存成showdll.dpr

  
  
  

  2.再次,文件-新建-其他-ActiveX-ActiveX Server Object,填写CoClassName:showhello,其他不变,点击ok。
  

  
  3.现在开始写程序,先添加一个方法。选择Ishowhello-右键-New-Method,填写方法名称:sayworld。
  

  
  4.现在开始写程序,将Unit1保存成show.pas,然后添加方法sayworld的代码
  

  
  show.pas的全部代码如下:

  unit show;

   

  {$WARN SYMBOL_PLATFORM OFF}

   

  interface

   

  uses

    ComObj, ActiveX, AspTlb, showdll_TLB, StdVcl;

   

  type

    Tshowhello = class(TASPObject, Ishowhello)

    protected

      procedure OnEndPage; safecall;

      procedure OnStartPage(const AScriptingContext: IUnknown); safecall;

      procedure sayworld; safecall;  //sayworld方法

    end;

   

  implementation

   

  uses ComServ;

   

  procedure Tshowhello.OnEndPage;

  begin

    inherited OnEndPage;

  end;

   

  procedure Tshowhello.OnStartPage(const AScriptingContext: IUnknown);

  begin

    inherited OnStartPage(AScriptingContext);

  end;

  procedure Tshowhello.sayworld(); //定义sayworld方法

  begin

   response.Write('Hello world');   //里边的语法和asp一样的写法了,就在这里封装了。

  end;

   

  initialization

    TAutoObjectFactory.Create(ComServer, Tshowhello, Class_showhello,

      ciMultiInstance, tmApartment);

  end.

  4.点击运行,编译成dll, 并自动注册了。这时候会提示:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  
  让你放到web服务器上运行,好了现在写个asp文件调用一下吧,注意Delphi已经生成了一个asp文件,我们改一下调用的方法就可以了。

  
  修改后的showhello.asp代码如下:

  HTML

  BODY

  TITLE Testing Delphi ASP /TITLE

  CENTER

  H3 You should see the results of your Delphi Active Server method below /H3

  /CENTER

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  HR

  % Set DelphiASPObj = Server.CreateObject("showdll.showhello")

     DelphiASPObj.sayworld

  %

  HR

  /BODY

  /HTML

  在iis的站点下运行看看效果吧:
  

  
  5.其他:

  Delphi编写的组件,用win2000的组件服务注册后可以看该组件的接口的方法

  
  6.还有asp页面和组件间传递参数,其实就是给调用的方法(函数)传递参数,注意Delphi里定义的时候要和vbs 的数据类型一致。这些还是大家多实践吧。这里主要是想大家学会封装asp核心代码的方法,起个抛砖引玉的作用。

来源:http://www.tulaoshi.com/n/20160219/1603862.html

延伸阅读
标签: ASP
  本文的内容是使用ASP的ActiveX Server Components(组件)。 一、 Browser Capabilities Component(浏览器能力组件): 我们知道,不同的浏览器也许支持不同的功能,如有些浏览器支持框架,有些不支持。利用这个组件,可以检查浏览器的能力,使你的网页争对不同的浏览器显示不同的页面(如对不支持Frame的浏览器显示不...
标签: Web开发
一、 Browser Capabilities 组件众所周知,并不是所有浏览器都支持现今 Internet 技术的方方面面。有一些特性,某些浏览器支持而另一些浏览器却不支持,如 : ActiveX 控件、影像流、动态 HTML、 Flash 以及脚本程序等。使用 ASP 的 Browser Capabilities 组件,就能够设计“智能”的 Web 页,以适合浏览器性能的格式呈现内容。 Browser Cap...
标签: ASP
  动手写个小组件(组件入门) 这篇文章主要是为想将自己的ASP水平提高的人写的! 把ASP代码变成组件,开发者不仅是加快了ASP的速度,而且也能保护自己的代码.这篇文章写出来,也是为了给想开发组件网友上一堂入门课! 下面,我们会来编写一个非常简单的组件,重点是知道怎样开发DLL组件,而不是其复杂的代码!这些都要靠你们自己以后的努...
asp中测试 1为放大obj.OutputImgFile server.MapPath("./lovethumbmail_bmp.jpg") '生成结果图片if err.number 0 thenresponse.write Err.Descriptionend if %> '生成水印 1为放大obj.MarkRotate = 25 '旋转角度obj.MaskText = "浪漫的情人节 祝天下有情人终成眷属" '要显示的文字obj.MaskTextFontName = "华文...
标签: ASP
  当你编写可以节省时间的ASP代码时,如果要移植代码的话,有许多事情需要做。跟随以下步骤,你会 发现移植代码没有什么麻烦的。      声明变量类型      Visual Basic 和VBScript 的最大缺点是它允许开发人员未经声明就使用变量。如果你觉得这是个好处, 那么当你要整个晚上来寻找...

经验教程

931

收藏

77
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部