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

我的地盘我做主
该用户从未签到
 |
作者: 慈勤强
8 K9 Q& ?; F! M- T& c) I# cEmail : cqq1978@Gmail.com
3 T/ U% f$ Y( w t3 g2 S描述: Asp自身提供的几大对象在有些时候并无法满足我们的需要,这时候就需要我们
: _5 y3 o# _+ a2 z5 t 自己动手编写组件,然后在Asp中调用
; V- o! E- q: C$ t; M5 q4 X最后修改: 2004-10-02# x5 T2 H2 h; x A3 _1 q7 C
**/ 6 h7 ^- w2 U! X# y, M: \6 ]+ W$ Z
< > 在用ASP做网站的时候,经常发现有些功能是Asp本身所无法实现的,就必须借助于
2 V T7 K2 K- g- \$ S; e% E+ P: j [' \9 Y! d/ x1 z1 ^- @. T
第三方的组件。 比如说发送Email,文件上传等等。6 e4 \' B' q4 P
</P>
0 \: V9 o" h3 m1 X. a [( }< > 今天就以VB为例,简单的制作一个我们自己的组件,然后在Asp中调用它。</P>
( V S) B1 d1 b" v9 Q< > 首先,打开VB,在新建工程类型里面,我们选择ActiveX Dll,如果您的组件需要8 Y! Z$ `& h T/ p$ ?4 x
* o/ T9 A; A: I4 O界面,也可以选择ActiveX控件。</P>
; p. W% Z) K9 K' K< > 然后,系统默认生成一个类模块Class1,我们可以改成我们需要的名称,比如FirstClass。4 Y. M6 ~- ^+ G
% e# {3 d+ {; ]7 F) |& c1 \" l说明一下,我们在Asp中调用对象的时候,是这么写的:: \( Q$ o6 C$ n; L
; q5 Z: F3 p, o) @
Set obj = Server.CreateObject("AdoDB.Connection")! G1 d) ?$ b# M, w
, _3 g/ d0 }) Y4 p
我们都知道,AdoDB是一个对象库,里面有好多个对象,而Connection是其中的一个对象。
, \5 Y4 [; V L3 J( c, Y- k/ Z/ Y- _3 \- @- `6 V" U& L/ H" F
所以,我们在上面创建的类模块,其实就是具体的对象,与Connection的地位是一样的。
0 v& Q# R0 A$ t1 w4 T</P>4 | O( L B1 k* q
< > 下面,我们就可以给我们创建的对象FirstClass编写代码,实现我们的功能了。, a, u/ M4 O7 Z
4 t2 R* R$ b% }4 T7 }0 ^ 我们写个很简单的方法,就是返回一个字符串( q. Q' R9 ^" D* T+ F9 x
</P>/ N$ ]8 `9 o& |* L% g3 Z7 K
< > Public Function getVersion() as String4 a- Q' C& B' L% b
, V8 Z6 r( z7 P' l0 _/ _9 H" {
getVersion = "我的第一个DLL,版本1.0". s: o* b1 L+ |9 _& ~! d3 Z/ L& B# N
* C: B/ f+ U. l! p/ e0 a1 O
End Function</P>
3 E% b3 m3 P& b& K6 g( G/ Q< > 写好之后,我们就要确定类库的名字,就像上面的AdoDB一样。 我们在工程菜单,工程属性
" C3 A) w, a4 }- V( P4 ?- ^, n0 k8 g; x( x
界面,可以看到一个工程名称,默认是”工程1“,这就是我们需要修改的地方,比如我们改成CqqLib
1 E- X) e7 R* L( U) ^& u# z</P>6 ^& z& Q( [+ b, V5 V, O; E7 T1 w: ?
< > 好了,生成相应的Dll, 这个时候系统就自动把这个组件注册到系统中了。 如果要用在其它
5 g* a k6 k# }+ f4 e
/ f/ M3 Z* o. g 的电脑上,需要先注册, 就是在命令行下输入 regsvr32 a.dll 就可以了。
n5 e K+ v4 u6 \: z6 c</P>4 q m, I5 B8 R) B/ T5 F
< > 下面,我们看看在Asp中怎样使用这个Dll,很简单:$ P0 e# H0 B, S$ v9 `( S0 g3 o
9 z% e: X* Q$ ?0 y0 L$ z <%, X( t3 J Y% r9 v% Z8 v
Set obj = Server.CreateObject("CqqLib.FirstClass")
; @3 V, r% Y' C6 c# c% Q$ _& f response.write obj.getVersion9 G, s& F- j) o ?; F
%>$ u6 t: W! q K: Q- O- N" r% O3 L
3 S5 P. | n4 L# i! C0 h$ W
! F3 c" g6 I- d7 d. \ 就可以看到输出结果了,也就是 "我的第一个DLL,版本1.0"</P> |
zan
|