
H NG D N T O DLL VÀ DÙNG DLL TRONG VBƯỚ Ẫ Ạ
Tác gi :ả Peter
C p đ bài vi t:ấ ộ ế Ch a đánh giáư
Tóm t t:ắ H ng d n t o Dll và dùng Dll trong VB!ướ ẫ ạ
Hôm nay Peter s h ng d n các b n t o m t dll và s d ng chúng trong VB. Bài vi t nàyẽ ướ ẫ ạ ạ ộ ử ụ ế
Peter g i cho 2 di n đàn khác (là 2 di n đàn mà Peter đi u hành), do v y các anh em chú ý.ử ễ ễ ề ậ
D n nh p:ẫ ậ
Th t ra t tr c t i gi Peter th y các b n ch ch t là dùng các hàm API c a Windows màậ ừ ướ ớ ờ ấ ạ ủ ố ủ
ch a ưth ngườ dùng đ n các dll t t o; v y bài vi t này Peter s h ng d n các b n t o m tế ự ạ ậ ế ẽ ướ ẫ ạ ạ ộ
dll và dùng nó đ vi t ng d ng trong VB; v i VB thì Peter s trình bày cách t o dll class xâyể ế ứ ụ ớ ẽ ạ
d ng trên chính môi tr ng VB; và m t ph n khác Peter s xây d ng dll Windows b ng VC+ự ườ ộ ầ ẽ ự ằ
+ (Cái này thì Peter cũng l u ý các b n r ng: Các b n ph i có m t chút ki n th c v l p trìnhư ạ ằ ạ ả ộ ế ứ ề ậ
C/C++; n u có th các b n hãy qua [url]congdongcviet.com[/url] (Peter cũng đang di u hànhế ể ạ ề
box C/C++ bên đó) đ tìm hi u v ngôn ng này). Sau đây m i các b n theo dõi n i dungể ể ề ữ ờ ạ ộ
chính: (Chúng ta s xây d ng m t ch ng trình tính t ng 2 s Double)ẽ ự ộ ươ ổ ố
Ph n 1: Vi t dll Class và ng d ngầ ế ứ ụ
1. Vi t dll Class:ế
Dll Class là m t lo i dll đ c xây d ng b ng chính môi tr ng VB, đây Peter dùng VB6.0ộ ạ ượ ự ằ ườ ở
đ làm vi c này. Các b c xây d ng nh sau:ể ệ ướ ự ư
- B c 1: Kh i đ ng VB6.0 và ch n ActiveX Dll trên tab New c a h p tho i New Project.ướ ở ộ ọ ủ ộ ạ
- B c 2: Đ t thu c tính Name cho Class này là ClsTong. Thu c tính Instancing là 6-ướ ặ ộ ộ
GlobalMultiUser.
- B c 3: Cho đo n code sau vào c a s code:ướ ạ ử ổ
Public Function Tong(a As Double, b As Double) As Double
On Error Resume Next
Tong = a + b
End Function
- B c 4: Ch n menu File\Make Project1.dll và biên d ch. Đ t tên dll này là Tong.dllướ ọ ị ặ
Nh v y là chúng ta đã thành công trong vi c biên d ch t o m t dll class b ng VB6.0.ư ậ ệ ị ạ ộ ằ
2. ng d ng:Ứ ụ
Sau khi t o đ c dll Class Tong.dll chúng ta làm trình t các b c sau:ạ ượ ự ướ
- B c 1: T o m t Project m i, l n này chúng ta ch n Standard EXE. Và đ t Name choướ ạ ộ ớ ầ ọ ặ
Project là TestDll.
- B c 2: T o 3 TextBox là Text1, Text2, Text3 (Trong đó Text3 dùng đ l u k t qu tínhướ ạ ể ư ế ả
t ng c a Text1 và Text2). Thêm m t CommandButton có Name là Command1.ổ ủ ộ
- B c 3: Nh n ch n menu Project\References... và nh n ch n Browse; ch n đ ng d n đ nướ ấ ọ ấ ọ ọ ườ ẫ ế
1

Dll chúng ta biên d ch phía trên và nh n OK đ k t thúc quá trình ch n.ị ấ ể ế ọ
- B c 4: Đ t đo n code sau vào c a s code:ướ ặ ạ ử ổ
Private Sub Command1_Click()
Dim x As New ClsTong
Text3 = x.Tong(Text1, Text2)
End Sub
Sau đó nh n F5 đ th c thi ch ng trình. Chúng ta nh p vào 2 ô Text1 và Text2 nh ng con sấ ể ự ươ ậ ữ ố
và nh n button Command1. K t qu là T ng c a 2 ô đó đ c hi n trong Ô Text3.... Các b nấ ế ả ổ ủ ượ ệ ạ
có hài lòng không?
Ph n 2: Vi t dll Windows và ng d ngầ ế ứ ụ
1. Vi t dll Windowsế
Ph n này Peter s h ng d n các b n t o m t dll WIndows b ng VC++6.0; các thao tác làmầ ẽ ướ ẫ ạ ạ ộ ằ
nh sau:ư
- B c 1: Kh i đ ng VC++6.0; nh n Ctrl+N ho c vô menu File\New; ch n tab Projects trongướ ở ộ ấ ặ ọ
h p tho i New; ch n ti p Win32 Dynamic-Link Library trong danh sách c a tab, Ti p t c làộ ạ ọ ế ủ ế ụ
đ t tên cho Project t i TextBox Project name ( đây Peter đ t là DllWin). Nh n OK đ ti pặ ạ Ở ặ ấ ể ế
t c.ụ
- B c 2: Ch n A simple dll project (l a ch n th 2 trong 3 l a ch n xu t hi n). Nh n Finishướ ọ ự ọ ứ ự ọ ấ ệ ấ
và ch n ti p OK.ọ ế
- B c 3: Trên tab FileView kích đúp vào file DllWin.cpp; xoá b code có s n là:ướ ỏ ẵ
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
và thay b ng đo n code sau:ằ ạ
double _stdcall Tong(double x,double y)
{
return x+y;
}
- B c 4: Dùng NotePad đ so n m t t p tin DllWin.def (cùng tên v i Project), v i n i dungướ ể ạ ộ ậ ớ ớ ộ
sau:
EXPORTS
Tong;
Chú ý vi t đúng nh trên (phân bi t ch hoa và ch th ng), tên hàm Tong ph i trùng v i tênế ư ệ ữ ữ ườ ả ớ
hàm c a code trên. Sau đó đ t file này chung th m c v i d án DllWin.dsw.ủ ặ ư ụ ớ ự
- B c 5: Tr l i VC++ chúng ta ch n menu Project\Add to project\Files và ch n fileướ ở ạ ọ ọ
DllWin.def đ add file này vào d án. Nh n OK.ể ự ấ
2

- B c 6: Biên d ch dll b ng cách nh n F7. M t file dll có tên là DllWin.dll s xu t hi n trongướ ị ằ ấ ộ ẽ ấ ệ
th m c Debug. Hãy copy file này vào C:\Windows\System32.ư ụ
V y là chúng ta đã biên d ch và t o thành công file DllWin.dll đ ph c v cho ch ng trìnhậ ị ạ ể ụ ụ ươ
VB c a chúng ta.ủ
2. ng d ngỨ ụ
Kh i đ ng VB6.0 và làm theo các b c t 1 đ n 2 c a bài h ng d n tr c.ở ộ ướ ừ ế ủ ướ ẫ ướ
- B c 3: Đ t đo n code sau vào c a s code:ướ ặ ạ ử ổ
Private Declare Function Tong Lib "DllWin.dll" (ByVal x As Double,
ByVal y As Double) As Double
Private Sub Command1_Click()
Text3 = Tong(Text1, Text2)
End Sub
- B c 4: Nh n F5 đ th c thi; nh p s vào các Text1, Text2 và nhân Command1; so sánh k tướ ấ ể ự ậ ố ế
qu c a bài h ng d n tr c!ả ủ ướ ẫ ướ
Chúc các b n thành công!ạ
3