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

我的地盘我做主
该用户从未签到
 |
作者: 慈勤强
% D5 @/ d5 k7 \# j+ dEmail : cqq1978@Gmail.com
3 v+ L7 ^+ C/ {# J描述: Asp自身提供的几大对象在有些时候并无法满足我们的需要,这时候就需要我们) R9 U( u$ h3 L1 b, o3 W* Z
自己动手编写组件,然后在Asp中调用
, z) d" z6 f1 a+ C) x最后修改: 2004-10-029 I! O7 X$ o t$ K
**/
7 H* D4 K* P- u7 K< > 在用ASP做网站的时候,经常发现有些功能是Asp本身所无法实现的,就必须借助于# @" f6 g5 g6 t* s/ R! x- ?" _
& i# h" k2 R2 e& {$ x. x第三方的组件。 比如说发送Email,文件上传等等。
$ R$ C2 N! C% J0 _</P>
4 ^! p& H/ J# U6 c$ Y< > 今天就以VB为例,简单的制作一个我们自己的组件,然后在Asp中调用它。</P>
! {/ f6 \2 v3 z" l( Y< > 首先,打开VB,在新建工程类型里面,我们选择ActiveX Dll,如果您的组件需要
{ l" z! ]% a+ f/ h. @- a$ I
) a6 |* S+ q' g: o3 [7 r2 [2 L: _界面,也可以选择ActiveX控件。</P>
! e8 p# }: K) s( V1 \< > 然后,系统默认生成一个类模块Class1,我们可以改成我们需要的名称,比如FirstClass。
/ Q5 l/ @2 C! G O7 |
: `8 h3 y$ v# e4 i% e说明一下,我们在Asp中调用对象的时候,是这么写的:
, Y% }8 X! w; ~: q1 M: b+ K" A. @# c8 s9 y6 r/ ^
Set obj = Server.CreateObject("AdoDB.Connection")
& G; d; A$ T, Q1 |2 B U
5 j8 S, Q: o) G% h* a, ` 我们都知道,AdoDB是一个对象库,里面有好多个对象,而Connection是其中的一个对象。# T7 e$ n" p/ c1 Y
' G% [4 k7 H# p. m# @; e ~
所以,我们在上面创建的类模块,其实就是具体的对象,与Connection的地位是一样的。) q2 R* c7 J: F& J) X4 S
</P>
/ m* Y, {) x! V1 A" l7 Q9 S< > 下面,我们就可以给我们创建的对象FirstClass编写代码,实现我们的功能了。( } }' N- M4 s
[* R; E" ~. C# ]8 f$ x
我们写个很简单的方法,就是返回一个字符串
9 @# ~6 M. F) R: {2 v</P>8 L1 D8 g- d8 Q' `# Y
< > Public Function getVersion() as String
% j8 Q8 F* a. F! K* U; s. X" ]7 @+ W; r; N! e
getVersion = "我的第一个DLL,版本1.0") [9 A: k9 i/ E% B- a6 C
% h% Y. j2 A0 A
End Function</P>3 S1 \" f" F, v
< > 写好之后,我们就要确定类库的名字,就像上面的AdoDB一样。 我们在工程菜单,工程属性
' O4 c& _7 k% E5 V1 u8 G, J/ ~# w s
界面,可以看到一个工程名称,默认是”工程1“,这就是我们需要修改的地方,比如我们改成CqqLib8 W f0 `4 \3 ^& _7 T
</P>
$ N* w( D, O+ U< > 好了,生成相应的Dll, 这个时候系统就自动把这个组件注册到系统中了。 如果要用在其它 s8 t% A/ K+ C3 n* l& r0 p1 G
& F1 R1 t% O* D9 q) O
的电脑上,需要先注册, 就是在命令行下输入 regsvr32 a.dll 就可以了。3 {" ^/ u1 T* n: S# \
</P>: m3 I8 v; d; ^5 {9 X/ ?
< > 下面,我们看看在Asp中怎样使用这个Dll,很简单: `' J7 b( ~7 W+ Y9 E$ t
) d: g4 O0 ]6 x5 }' v" {9 w5 P <%4 h) x2 ]; r/ d6 K& ^9 ^
Set obj = Server.CreateObject("CqqLib.FirstClass")/ l. T# Z; ? w1 z* f6 t
response.write obj.getVersion7 ?( s* _4 P# @6 K, N
%>
- V9 l0 a8 {" T, ?% O: F) C w2 C0 v6 x2 W+ Z0 ]
6 T4 R" F! @" n; S+ | 就可以看到输出结果了,也就是 "我的第一个DLL,版本1.0"</P> |
zan
|