(完整版)Vb写dll基础

  • 格式:docx
  • 大小:345.90 KB
  • 文档页数:9

编写一个简单的 DLL Visual Basic 编写 DLL

打开VB6.0,新建工程 选择ActiveX DLL

修改工程名,工程名将决定生成的 DLL的名称,这里顺便把自动生成的类的名称也修改

工程-test

冒區||匚I

在类中添加一个方法(sub,或function )来测试这个 DLL

生成一个DLL 文件旧漏瑁旧视圏凹工闵迴梧式◎ 謂试里堪fj⑻曲(U)囹表①工冒

^<1程㈣ Ctrl + N

£打开工程◎“, Ctrl+O

盍加I程(QU 移瞼工程国

Q就工程辿 工程另存為㈢…

探存 cklestl^) cl 5 Testi另存为迟L.

用 F 斗r \ Ctrl"

LKiI J

ill ・ _ tw4~ I ITj

保砰更改awT(H.'

侵 m(p)^

D打印设畫tw… Ctrl+P

I 妝加乩別唱.・

调用这个DLL

再新建一个Exe工程

在这个Exe工程里找到并引用刚才生成的 DLL

引用-工徘1

可用的引用広】

Tibulsr Hati 匚ontral 1. 1 7yp& Library 二UDEF隅<■ l.D僞懦傻儒储懐伶俏

TAOFramQ 1 0 Type Library _ -TAPI3 Tmdnal Mwag?r 1.0 Type Library T^skScheduLer I. 1 Type Library Tepe qAFODUl i b ~w

Tire adFictoryLib v4. 0 EyALUkTIOH TIF DTVParsfiLife 1.0 Typs Library TinvpMLl

TMi croso E< SQL S *rvsr T^rmLoolsup Traniforn 〒

Tifil & 1 H TTEQ Tih严■FIZ

“Mt 优先级 确定

歐消

測览⑹…

也可以通

过”浏览" 找到这个 Btt

定位:C: \Users VAiluii ni stF aior \Desktci 讥新建文件夹讥“t.Jll i吾言;标准

在Exe工程里使用

Opti 6ri E^^ll ci +

Frivats Sub Conifn9ik(ll_Click )

Din t AM -?liT*stl

1 = N«w clETeitl

t FlyNsgbox 训.1 寸m"

End Sub

生成Exe文件,并关闭Exe工程,运行此 Exe文件,点击测试 DLL 运行效果

导 Forml | a I E

关闭Exe,修改DLL工程的属性,并修改 DLL的cIsTestl.MyMsgbox 方法

1 Op

t i ftn Fvpl V

Pufcli □ Sub Myffl Imsg^tr hs: St.ri xig

End Sub

\

我■«肖微把它改感这样

重新编译生成新的 DLL,并再次运行刚才的 Exe文件,点击 测试DLL查看效果:

S Forml | a

这说明一点,通过 DLL我们不需要重新编写编译 Exe文件,只要重新编译 DLL文件即可 在实际编程中,各个 DLL各司其职,组成功能强大,分工明确的软件

比如QQ旋风

本(D:) > QQDownload ►

l(v)工ME須厉(H)

共享丁 新建文件夹

Browser

BT

eMule

A. TXSSO

XFSKin

|W| atl80.dll

Extract, dll

圃 MediaFilter.dll

J mfc80u.dll g

MSVCIRT.DLL 同

msvcp80.dll msvcr80.dll

MSVCRT.DLL

£ QQDownload.dll

QQIEHelper01.dll 同

tinyxml.dll _

TNProxy.dll 」Win7Feature.dll

xcore.dll

n

)J t t xdownloacl.cdll

丄 xmain.dll

ResError.html

xfgetAllurl.htm

§] xfgeturl.htm 国

xfoffline o n ly.htm

MicrosoftVC80J\TL.manifest

」Mkrosoft.VC80.CRT.manife5t

Microsoft.VC80.MFC.manifest DLL公开函数、方法(直接调用,就像调用公共模块中的公共函数一样)

新建一个DLL,命名为test2,并设置自动生成的 Classi的Instancing属性为

6- GlobalMultiUse (这个类的各种属性和方法可以象简单的全局函数那样被调用。该类的实 例不需要显式创建,因为它会自动创建。 )

生成DLL文件

:沁I

再新建一个Exe工程,并引用这个 DLL,然后调用这个 DLL的函数进行测试匸

ZZf=l - Forml (Codel

Privit* Sub Comm andl_Click() Din B Ai SiDeli

R = A«dd£ (10F 20) HsgBox *1CH2O=* i R

End Sub

运行效果:

导 Forml |

口 ]| 回

uidl T [Click

Opti on Ex plici t

直接调用这个画数,矇普通函数一样