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

原创 2004年10月19日 10:13:00

 

         如果你想脱离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, 并自动注册了。这时候会提示:


让你放到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>

<HR>

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

   DelphiASPObj.sayworld

%>

<HR>

</BODY>

</HTML>

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


5.其他:

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


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

 

写这些,文字不多,就是截图麻烦了点。水平有限,错误的地方,大家拍砖,拍的轻点啊!!!!

                                     一风一云

                                      2004-10-18

 

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

 Delphi编写组件封装asp代码的基本步骤(Asp组件系列)          如果你想脱离asp爱好者的水平,那么你就应该学会为asp编写组件。我在google上搜索了一下,Delphi编写as...
  • griefforyou
  • griefforyou
  • 2006年02月20日 14:19
  • 3590

Delphi编写asp组件

如果你想脱离asp爱好者的水平,那么你就应该学会为asp编写组件。我在google上搜索了一下,Delphi编写asp组件的文章一共就几篇,所以今天写了这篇Delphi编写asp组件的基础文章,希望对...
  • liuzhongxf
  • liuzhongxf
  • 2008年02月20日 12:46
  • 428

dll封装后,ASP调用

Option ExplicitVB ActiveX DLL 类模块代码-----引用ASP中的一些设置------Private ScriptingContext As ASPTypeLibrary....
  • mymyal123
  • mymyal123
  • 2005年01月12日 15:25
  • 818

注册ASP组件的两种方法

今天用FSO屡次没有成功,后来才知道是自己的IIS不支持FSO,到处求救才把FSO组件注册上。第一种方法:手工注册DLL 来执行,进入到包含有DLL的目录,并输入: ://regsvr32 compo...
  • cxzhq2002
  • cxzhq2002
  • 2007年03月20日 17:19
  • 993

asp调用DLL或com组件的简述及网上摘例

动态联接库(DLL)是加快应用程序关键部分的执行速度的重要方法 asp调用DLL或com组件的方法:步骤一: 装载 METADATA 标签中指定的类型库。 Path是mydll.dll在机器上存放的路...
  • gkq8124372
  • gkq8124372
  • 2009年04月23日 15:43
  • 4018

[ASP]调用Jmail组件发送邮件过程(绝对能发到126等外部邮箱)

前一段时间有发过一个简单的JMAIL邮件发邮件的代码,今天就把这个代码做一个具体的注解,并增加了另外两个格式的代码,并举几个简单的例子:首先是jmail.smtpmail的核心代码:Set jmail...
  • kepeizong
  • kepeizong
  • 2006年05月17日 08:25
  • 6529

asp无组件上传图片并生成缩略图

 先创建一文件夹,并创建虚拟目录或站长点。1.增加上传页xAdd.html无组件上传"POST" name="myform" action="xSave.asp" target="_self">"Pi...
  • yegengxing
  • yegengxing
  • 2008年11月07日 10:39
  • 8870

在VC编写的组件中使用ASP对象

2001年01月18日 14:41:00 讨饭猫翻译简介 本文用一个简单的sample演示如何在VC++ ATL编写的组件中调用我们熟悉的ASP对象(Request,Response,...
  • softart
  • softart
  • 2007年10月27日 07:49
  • 262

最好的数据导出组件SMExport

 最好的数据导出组件SMExport翻译:nxyc_twz@163.com  SMExport 是一个本地化的 Delphi&C++Builder 组件,主要用来从 TDataSet 或 TDBGri...
  • nxyc_twz
  • nxyc_twz
  • 2004年01月02日 13:39
  • 1893

asp无组件上传图片文件

最近要写一个asp 无组件上传图片文件的代码,感觉asp中真是麻烦,不像asp.net与jsp中有那么强大的文件读写和图片处理的类做支持!从网上找了一个代码,但目前只能上传和按原样输出,内部处理有待研...
  • trueman2008
  • trueman2008
  • 2007年12月14日 09:59
  • 1500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi编写组件封装asp代码的基本步骤(Asp组件系列)
举报原因:
原因补充:

(最多只允许输入30个字)