作者: 慈勤强. L: h7 Y+ G: d. D* a2 h. \( Q. Q
Email : cqq1978@Gmail.com - N/ j: x( E) r+ a" G5 J0 K7 `描述: Asp自身提供的几大对象在有些时候并无法满足我们的需要,这时候就需要我们* J8 ^' v Q" `
自己动手编写组件,然后在Asp中调用 9 V6 a* g2 K. u* c7 z. h
最后修改: 2004-10-02. K# h! f B7 p" X% \ k, {
**/ 4 b) w- b! H: C- N M% o j
<> 在用ASP做网站的时候,经常发现有些功能是Asp本身所无法实现的,就必须借助于 2 i y% u7 l( E( Y' O% k% l Q- d- K) y, p' j/ C9 |, p8 Q
第三方的组件。 比如说发送Email,文件上传等等。 G! _3 r1 y9 @. n
</P> " [1 V7 d3 U0 m<> 今天就以VB为例,简单的制作一个我们自己的组件,然后在Asp中调用它。</P>- C! W! D7 r9 x! Y* s5 G- o
<> 首先,打开VB,在新建工程类型里面,我们选择ActiveX Dll,如果您的组件需要 : k3 c4 L9 ~2 o2 g5 ]/ U+ j9 Y " P. q* M! y; z界面,也可以选择ActiveX控件。</P> % |% @0 [* W" T# @<> 然后,系统默认生成一个类模块Class1,我们可以改成我们需要的名称,比如FirstClass。 % ~$ m3 x! z8 |1 ?0 k( P. D# u0 d, z9 P! u4 ]) b
说明一下,我们在Asp中调用对象的时候,是这么写的:3 j& t8 V% j3 O; u* o& f2 d
9 W$ `# \( g/ c! [, f* m Set obj = Server.CreateObject("AdoDB.Connection")9 ]4 z' O7 `1 x# r5 F- d
/ D+ P# u% v; M$ @ 我们都知道,AdoDB是一个对象库,里面有好多个对象,而Connection是其中的一个对象。/ ]! P9 ~$ M; A5 G
4 ~% `, O0 [9 d" |0 Z$ T0 y8 `
所以,我们在上面创建的类模块,其实就是具体的对象,与Connection的地位是一样的。) s; y1 \5 U0 y3 Q+ ?
</P>9 \9 q1 Q# h6 U5 [! F. E
<> 下面,我们就可以给我们创建的对象FirstClass编写代码,实现我们的功能了。 W9 M: o+ L- l P! \! F& [3 }4 [4 f: y4 b' n2 K9 V5 T
我们写个很简单的方法,就是返回一个字符串3 T8 z) }! J7 a1 g0 b( x/ x
</P>2 u/ h5 E" z5 c5 @+ B+ R4 ^5 D
<> Public Function getVersion() as String/ c# @+ \3 s3 H+ h9 R
7 M) M! X) a' T$ d- r& k getVersion = "我的第一个DLL,版本1.0") B: F! N: T3 ~/ }
. O0 ?: a. j' t* S/ k; z# k
End Function</P> ; Y- q" t0 J4 ~& k<> 写好之后,我们就要确定类库的名字,就像上面的AdoDB一样。 我们在工程菜单,工程属性- Z3 {' b; [/ F. U, U
) ?* z$ `* V: {$ M* f: b 界面,可以看到一个工程名称,默认是”工程1“,这就是我们需要修改的地方,比如我们改成CqqLib/ X8 O) m" i! U) E
</P> 0 W& j- q. \# F) S3 N/ f<> 好了,生成相应的Dll, 这个时候系统就自动把这个组件注册到系统中了。 如果要用在其它( `( b7 R7 P1 z/ y# |4 I/ C* a
" c1 ~$ |9 B) W% L
的电脑上,需要先注册, 就是在命令行下输入 regsvr32 a.dll 就可以了。- i$ x/ `; U: [( D
</P> 3 h! E) N- t# G4 @<> 下面,我们看看在Asp中怎样使用这个Dll,很简单:( l! q- Q* e1 T, P) [; A! C
; o/ {5 n, Q( L: g+ [
<% " ]0 ` e$ }! { Set obj = Server.CreateObject("CqqLib.FirstClass")- p" ]; y3 K8 h1 r# I' d
response.write obj.getVersion * e5 ~/ n. W9 J2 L: Q0 ]3 c %> 9 G {) S# t: W( P7 ], f/ r: s, Z5 Q8 c6 a
$ ?2 j2 A t+ ^: l: X 就可以看到输出结果了,也就是 "我的第一个DLL,版本1.0"</P>