|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
假如你想脱离asp兴趣者的水平,那么你就应该学会为asp编写组件。我在google上搜索了一下,Delphi编写asp组件的文章一共就几篇,所以今天写了这篇Delphi编写asp组件的基础文章,希望对新手有点帮助。 开始吧,让我们一起编写一个”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> 5.其他: Delphi编写的组件,用win2000的组件服务注册后可以看该组件的接口的方式 6.还有asp页面和组件间传递参数,其实就是给调用的方式(函数)传递参数,注重Delphi里定义的时候要和vbs 的数据类型一致。这些还是大家多实践吧。这里主要是想大家学会封装asp核心代码的方式,起个抛砖引玉的作用。 返回类别: 教程 上一教程: ASP实现二级下拉列表 下一教程: WINDOWS2000服务器账号登陆身份验证 您可以阅读与"DELPHI编写组件封装ASP代码的基本步骤"相关的教程: · ASP讲座之十:自己动手编写组件 · 使用组件封装ASP的数据库操作 · ASP无组件上传图片的基本方式 · 关于用COM封装ASP代码 · 使用组件封装数据库操作(一) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |