日期:2012-05-18  浏览次数:20903 次

一直以来,想写一些组件方面的应用,这段时间终于可以写一点自己喜欢的东西。

希望大家通过这些教程学习后,可以随心所欲的写出自己的组件。

每篇文章可能没有关联,只是写一些组件编写过程中出现的问题。

欢迎大家批评指正

环境: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



第一篇结束了,祝大家学习愉快