当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP讲座之十:自己动手编写组件

ASP
ASP字符串大写转换成小写 ASP小写转换成大写 ucase lcase
asp base64加解密函数代码
Discuz!NT 论坛整合ASP程序论坛
discuz 2.0整合asp系统,用户添加函数
P3P 和 跨域 (cross-domain) cookie 访问(读取和设置)
通过asp程序来创建access数据库
检查access数据库中是否存在某个名字的表的asp代码
asp #include file 与 #include virtual 的区别小结
一个带采集远程文章内容,保存图片,生成文件等完整的采集功能
asp 横排显示数据
asp base64 utf-8为了兼容asp.net的base64
两个非常规ASP木马(可躲过扫描)
asp DateDiff实现文字在特定时间后消失
ASP所有的Session变量获取实现代码
关于ASP eof与bof 区别分析
asp ajax注册验证之 防止用户名输入空格
asp sqlserver 执行存储过程返回记录集报对象关闭时不允许操作
ASP 获取文件扩展名函数getFileExt()
asp 简单分页代码
asp删除mssql数据库中没有记录的图片代码

ASP讲座之十:自己动手编写组件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 64 ::
收藏到网摘: n/a

在前面的内容中,我们学习了组件的使用,网上的组件虽然不少,但往往小小的一个组件就要你掏出美元来,而国产的组件又太少,想掏点人民币还没地儿好掏,算了,您干脆自己写吧,其实编写组件并不难,无非是刚开始写低水平的组件,慢慢开始写高水平的组件而已。要编写ActiveX Server Components,有多种工具可供选择:Visual Basic、C++、Java等等,这里选择最简单的VB6.0,只要你以前用过VB,包你不到1小时之内,做一个小组件出来。

一、 组件编写速成——编写组件最基本的步骤
本部分主要讲解编写组件的基本步骤,如果你有进一步学习的欲望,请参照VB6.0帮助文档中“创建 ActiveX DLL”部分(MSDN Library中文档文件名为Vbcon98.chm)。
目的:编写一个最简单的加法器组件,这个组件有两个属性,一个方法。我们从最熟悉的地方开始,那就是先假设这个组件已经存在,看看在ASP使用该组件的代码:
<%
Dim objSum
‘ 先创建该组件组件标识为 TestDll.Sum
Set objSum = Server.CreateObject("TestDll.Sum")
‘ 记住TestDll.Sum 中的“TestDll”,“Sum”。
objSum.augend = 10.52       ‘augend 属性为被加数
objSum.addend = 382.41      ‘addend 属性为加数
Result = objSum.Plus        ‘Plus 方法求和
Response.Write Result
Set objSum = Nothing
%>
请务必记住这几个关键词:TestDll、Sum、augend、addend、Plus,这将与接下来的工作紧密关联。下面是详细步骤:
1. 运行VB6.0,在“文件”菜单中,单击“新建工程”→在“新建工程”对话框中,双击“ActiveX DLL”图标→Visual Basic 将向该新工程中自动添加一个类模块 Class1(在“工程资源管理器”中可以看到,如图1)。
2.按 F4 键打开“属性”窗口。双击“名称”属性把“Class1”改成 Sum。
3.在“工程”菜单中,单击“工程1 属性”打开“工程属性”对话框。在“工程名称”中填写TestDll,在“工程描述”中填写“创建ActiveX DLL示例”。如图2。
    提示:ASP创建组件中的标识TestDLL.Sum这两项的意思明白了吧。
4.在“文件”菜单中,单击“保存工程”,分别使用下面的名称保存工程文件:SetupDll.cls和SetupDll.vbp。
5.为 Sum 类创建属性:
(1) 在“工具”菜单中,选择“添加过程”打开“添加过程”对话框。在“名称”框中,输入augend,单击“属性”,然后单击“确定”,如图3(注意:当前焦点应在代码窗口,否则“添加过程”菜单无效)。
(2) 在“工具”菜单中,选择“添加过程”打开“添加过程”对话框。在“名称”框中,输入addend,单击“属性”,然后单击“确定”。
6.为 Sum 类创建方法:
在“工具”菜单中,单击“添加过程”打开“添加过程”对话框。在“名称”框中,输入Plus,在类型中,你可以选择“子程序”或“函数”,本例中由于要返回加数与被加数之和,故单击“函数”,然后单击“确定”。
现在,前面ASP代码中的五个关键词语都已用上,这下很多东西都明白了吧。
7.类模块Sum代码窗口中所有代码如下:
Option Explicit
Private mdbl_augend As Double
Private mdbl_addend As Double

Public Property Get augend() As Double
    augend = mdbl_augend
End Property

Public Property Let augend(ByVal vNewValue As Double)
    mdbl_augend = vNewValue
End Property

Public Property Get addend() As Double
    addend = mdbl_addend
End Property

Public Property Let addend(ByVal vNewValue As Double)
    mdbl_addend = vNewValue
End Property

Public Function Plus()
    Plus = augend + addend
End Function
你已经注意到以上代码与系统生成的代码有点不同,主要是Public Property Get augend() As Variant部分用实际的数据类型Double替代了。
注意:实际上,当执行 x = objSum.augend 语句时,调用的是 Property Get 过程,获取mdbl_augend的值,而执行 objSum.augend = 10.52 语句时,将调用 Property Let 过程