asp讲座十:自己编写组件
1。编译速度——编写最基本的步骤
主要阐述编译的基本步骤。如果你有进一步学习的欲望,请参阅帮助文件创建在VB6.0 ActiveX DLL部分(MSDN库的文件的文件名是vbcon98 chm)。
目的:编写一个最简单的加法器,它有两个属性,一个方法。我们从最熟悉的地方开始,假设它已经存在,并查看ASP中使用的代码:
昏暗的objsum
第一次创建,确定为testdll.总和
集objsum = server.createobject(testdll.总和)
记得在testdll testdll.总和,总和。
objsum.augend = 10.52 加数加数属性
objsum.addend = 382.41 加数加数属性
结果:objsum。再加方法总结
写入结果
集objsum =没有
%>
一定要记住这些关键词:testdll被加数、加数,和,,加上,这将是下一步的工作密切相关。以下是详细步骤:
1、运行VB6.0。在文件菜单上,单击新建项目,然后在新建项目对话框中,双击ActiveX DLL图标的视觉自动添加一个类模块1类新项目的基础(它可以在工程资源管理器,如图1中所看到的)。
2。按F4键打开属性窗口,双击名称属性改变1总结。
三.在项目菜单中,单击工程1物业打开工程属性对话框中,填写testdll在项目名称,填写工程描述创建ActiveX DLL的例子。例如,图2。
提示:这两项的含义,对testdll鉴定。和在ASP的创造,是明确的。
4。在文件菜单上,单击保存项目,并使用下列名称保存项目文件:setupdll.cls和setupdll.vbp。
5。为总和类创建属性:
(1)在工具菜单中,选择添加过程中打开添加过程对话框。在名称框中,输入加数,单击属性,然后单击确定,如图3所示(注:目前的重点应该在代码窗口,否则添加程序菜单是无效的)。
(2)在工具菜单中,选择添加过程中打开添加过程对话框。在名称框中,输入加数,单击属性,然后单击确定。
6。为总和类创建一个方法:
在工具菜单上,单击添加过程中打开添加过程对话框。在名称框中输入加,和类型,你可以选择一个子程序或函数,在这种情况下,由于点击被加数和加数和函数,返回,然后点击OK。
现在,前面的ASP代码中的五个关键词已经被使用,很多都是理解的。
7中的所有代码。类模块和代码窗口如下所示:
明确选择
私人mdbl_augend双
私人mdbl_addend双
公共财产得到加数()为双
加数= mdbl_augend
最后的财产
公共财产让被加数(ByVal vNewValue双)
mdbl_augend = vnewvalue
最后的财产
公共财产得到加数()为双
加数= mdbl_addend
最后的财产
公共财产让加数(ByVal vNewValue双)
mdbl_addend = vnewvalue
最后的财产
公共功能加()
加=加数+加数
端功能
你已经注意到,上面的代码是由系统生成的代码有点不同,主要的公共财产得到加数()为变异部分是由实际数据类型双取代。
注:事实上,当执行x = objsum.augend声明,它调用属性获取的过程,获取mdbl_augend的价值,在执行objsum.augend = 10.52的声明,它将调用属性让过程,和给10.52 mdbl_augend。
8。最后一步,在文件菜单上,单击生成DLL(K)是生成的文件setupdll.dll。
在这里,它被创造出来的。现在,我们可以先写下一个测试项目测试文件是否是正确的或不。
1。在文件菜单中,单击新建项目双击标准EXE。
2。在项目菜单中,单击引用的引用对话框,单击浏览按钮,选择新编译的setupdll.dll文件点击确定。
三.在代码窗口的结尾,编写以下代码:
明确选择
私有子form_load()
昏暗的objsum作为testdll.总和
集objsum =新的总和
objsum.augend = 10.52
objsum.addend = 382.41
本objsum。加
端子
运行,结果正确,然后我们用这个在ASP。复制setupdll.dll成网,与regsvr32.exe setupdll.dll命令登记,并在本部分开始执行ASP程序。如果没有的话,你可以试着用VB6的包装工具第一包装,然后安装它自动,和一些必要的维生素B6运行文件会自动安装。
描述:本节中的所有的程序都在下载包的setupdll.zip。
在上面的例子中,我们使用属性过程属性get和属性允许添加属性(属性get读取属性值,而属性则将属性赋给属性)。如果需要验证设置值,我们可以在属性让进程中编写适当的代码:
公共财产让被加数(ByVal vNewValue双)
如果vnewvalue
MsgBox你是做什么的!小于100的值。
其他的
mdbl_augend = vnewvalue
最后如果
最后的财产
两。添加属性和方法的其他方法
1。添加一个属性最简单的方法:添加一个公共变量,例如最简单的示例代码:
明确选择
公共被加数双'添加被加数属性
公共加数双'添加加数财产
公共函数加()为双
加=加数+加数
端功能
然而,该方法只能设置可读/写的属性并不能验证作业的价值。如果你只需要添加只读属性:在这种情况下,将公共财产让被加数(ByVal vNewValue双),加数变成只读属性不能分配。当然,如果你想加上只写属性,你只需要删除的属性获得过程。
2。使用类生成器实用工具
VB6也有一个工具来添加属性和方法:在添加菜单,点击添加经理,选择VB类生成器实用工具中的加载项管理器对话框中,选择加载卸载/加载行为(图4)。然后单击类生成器实用程序菜单,你会用它当你看到它。
三,告诉你一些要注意的问题
上面的例子是一个简单、简单、实用的模块,至少有一个模块(模块)。
2。如果您不小心,Visual Basic可以生成一个线程。
可能最常见的缺陷是使用一个不是在ASP下运行的单个线程。因此,请确保线程模块被设置为项目属性页的General选项卡上的一个单元线程。
三.关于类型错配错误。
好的建议是变量输出语句最好的参数,在这个例子中没有这样的设置。
4。关于全局变量的使用。
尽量避免使用全局变量。在Visual Basic的术语,这意味着在standard.bas模块没有公共或全局变量,全局变量是不真实的世界,每个线程都有自己的副本。如果几种方法执行完全相同的线程,他们将看到相同的变量;否则,他们将访问这些变量的不同副本。这意味着你可以将一个值赋给一个全局变量(在线程),但另一个用户(在线程B执行)看不到新的价值的原因。是Visual Basic使用线程本地存储(TLS)指的是全局变量,这意味着每个线程都有一份自己的公共变量,因为它的多个副本,全球数据是不是真的世界。换句话说,同样的变量是由用户在同一线程运行访问,无论他们是否希望。
顺便说一下,VB6.0引入了一个新的VisualBasic应用程序:一个IIS应用程序,可以创建IIS应用程序,就像创建ActiveX dll一样。可以在VB开发环境中创建由Active Server页面创建的任何应用程序。可以用一个VB应用程序完全替换所有活动服务器页面。