- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
作者: 慈勤强% |8 ]- X4 _* F- t) x
Email : cqq1978@Gmail.com9 N+ P! w) o5 P9 c* A/ ~4 |
描述: Asp自身提供的几大对象在有些时候并无法满足我们的需要,这时候就需要我们
% z! ?& Q! l' Q- d 自己动手编写组件,然后在Asp中调用
9 R0 u+ l" Y5 Y) P% N2 U- R( U最后修改: 2004-10-02
! X0 m- z$ V6 _**/
, O$ G* Z) |+ {" P9 O< > 在用ASP做网站的时候,经常发现有些功能是Asp本身所无法实现的,就必须借助于- U; n5 c0 z3 S- C! z
" @6 o# R) L, l- d( D第三方的组件。 比如说发送Email,文件上传等等。
' I3 [: q3 @ |1 t# n/ c0 J% l</P>
0 }6 s# r$ y4 L6 i2 {< > 今天就以VB为例,简单的制作一个我们自己的组件,然后在Asp中调用它。</P>4 `8 ?% Z# t- [4 _7 N
< > 首先,打开VB,在新建工程类型里面,我们选择ActiveX Dll,如果您的组件需要; G3 [& `* |3 U$ @- r) I! k2 d
0 {4 I% x' V& h& O1 K' n) h
界面,也可以选择ActiveX控件。</P>
( G( p% \2 j1 I# l. T W< > 然后,系统默认生成一个类模块Class1,我们可以改成我们需要的名称,比如FirstClass。
! @: K9 @! A. J% m! d; @; o' W% d* Z
; V9 B1 |6 ^, I0 V; N0 B1 |说明一下,我们在Asp中调用对象的时候,是这么写的:
; t. h, o! E- L8 c
/ v* N9 P& V/ e, R0 }7 J! T Set obj = Server.CreateObject("AdoDB.Connection")
' ^6 K8 Y- Y$ d9 r! X2 x0 n& a" O3 `- U. e/ @8 L" _$ \7 J1 W
我们都知道,AdoDB是一个对象库,里面有好多个对象,而Connection是其中的一个对象。
$ n# w) Y7 `4 [1 F, j
, U, h" k- X( z9 B5 Z; b/ L; m9 g 所以,我们在上面创建的类模块,其实就是具体的对象,与Connection的地位是一样的。
) C n) M& R9 e+ F: F2 c; q* ^</P>
. m; e3 B6 T% M# l! P9 H< > 下面,我们就可以给我们创建的对象FirstClass编写代码,实现我们的功能了。
9 o E+ ]6 H' s& Z% q/ e/ `0 R2 B& I! x! V
我们写个很简单的方法,就是返回一个字符串
) U; x7 z! {0 B% N# P. g5 c</P>) H5 m2 c( ?; s8 r+ {1 E- b0 F
< > Public Function getVersion() as String
n) `# E" A0 j" |' h! h
8 s) y2 {. Y9 H f getVersion = "我的第一个DLL,版本1.0"& I4 J+ H2 O4 \" L
1 N. U3 y, V, U
End Function</P>- k6 D0 {1 l! x( u l' ~# Y; C, w
< > 写好之后,我们就要确定类库的名字,就像上面的AdoDB一样。 我们在工程菜单,工程属性+ ]8 A( {! {" m
& A+ J. q+ }$ d" `4 ?( Z 界面,可以看到一个工程名称,默认是”工程1“,这就是我们需要修改的地方,比如我们改成CqqLib! w* N% ?: N$ y- s' t" C
</P>
% z4 Y6 |$ W& j4 U7 I< > 好了,生成相应的Dll, 这个时候系统就自动把这个组件注册到系统中了。 如果要用在其它9 t. U& k2 ]5 y
1 I/ f& {/ O9 }2 ?2 H
的电脑上,需要先注册, 就是在命令行下输入 regsvr32 a.dll 就可以了。6 g E) i0 v' L/ }
</P>
. u( u# \+ ] [4 [: a/ h7 k; s< > 下面,我们看看在Asp中怎样使用这个Dll,很简单:% a4 X, B0 d7 D# O! B8 J
: n: M3 N6 }/ f: Y
<%' a: I, s7 g3 `# z
Set obj = Server.CreateObject("CqqLib.FirstClass")
' \, s7 u$ N2 z% x response.write obj.getVersion! Z$ B2 M. U5 e7 |% @
%>6 u7 Y0 o7 _: `, F9 R. Q
8 P$ ]* |( u1 |& ]
L3 N. {1 a$ k' ?" g
就可以看到输出结果了,也就是 "我的第一个DLL,版本1.0"</P> |
zan
|