一直以来,想写一些组件方面的应用,这段时间终于可以写一点自己喜欢的东西。
希望大家通过这些教程学习后,可以随心所欲的写出自己的组件。
每篇文章可能没有关联,只是写一些组件编写过程中出现的问题。
欢迎大家批评指正
环境:winxp+vb6+sp6+visual interdev6.0
作为第一篇,我们先来写一个比较简单的组件
完成的功能是:输入两个数相加,返回相加的结果
打开vb6,新建Activex Dll工程。工程名修改为fCom,类名修改为fC1
点击菜单->工具->添加过程
我们在名称内输入Add,类型选择函数,范围选择公有,然后确定即可
生成如下代码,我们继续完善
Option Explicit
Public Function Add(ByVal a As Long, ByVal b As Long) As Long
Add = a + b
End Function
Ok,一个简单的组件就写好了,点击菜单->文件->生成fCom.dll文件
确定,在目录下就会有fCom.dll文件
测试
打开visual interdev6.0,生成一个asp文件,为什么要使用interdev,因为它有代码提示功能,与vb的ide环境一致,方便书写
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
set obj=server.CreateObject("fCom.fC1")
‘下面这句注意了,因为函数有返回值的,不能按下面的方法写,否则ie中会报错
‘obj.Add(3,4)
‘错误类型: ’Microsoft VBScript 编译器错误 (0x800A0414) ’调用子程序时不能使用括号 ’/xml/fc1.asp, line 9, column 12 ’obj.Add(3,4)
‘下面是正确写法
dim c
c=obj.Add(3,4)
Response.Write c
%>
</BODY>
</HTML>
配置好虚拟目录,在ie中执行此asp文件,得到结果7
第一篇结束了,祝大家学习愉快
|