Tác giả: lungocqua
Cấp độ bài viết: Trung bình
Tóm tắt: Hướng dẫn cách tạo và sử dụng thư viện liên kết động trong VB.NET
Đề bắt đầu chúng ta hãy tìm hiểu một chút DLL là gì bằng cách xem liên kết dưới đây:
http://vi.wikipedia.org/wiki/DLL
----------------------------------
Để tạo được dll thì bạn cần phải có:
Tập tin cần biên dịch + Công cụ
+Tập tin cần biên dịch thường bao gồm các hàm và thủ tục của một lớp nào đó.
+Công cụ: Sử dụng Command Prompt trong bộ Visual Studio 2005 và tất nhiên là bạn có thể tìm thấy nó trong các phiên bản khác của bộ Visual Studio.


Lưu ý: Không tìm thấy công cụ này trong các phiên bản Express.
1. Tạo tập tin cần biên dịch:
Ở đây mình có sẵn một cái Project và bây giờ mình sẽ thêm một cái lớp và đặt tên cho nó là Class1.vb

*Bạn có thể viết một lớp bằng Notepad và lưu với đuôi mở rộng là vb vẫn được.
Trong lớp Class1.vb mình sẽ viết một đoạn mã nhỏ:

- Public Class Class1
- ''' <summary>
- ''' Hiện hộp thoại thông báo.
- ''' </summary>
- ''' <param name="str">Chuỗi kí tự sẽ hiển thị.</param>
- ''' <remarks></remarks>
- Sub tb(ByVal str As String)
- MsgBox(str)
- End Sub
- End Class
Lưu lại và tạm xong.
Sau đó vào Project và sao chép (Copy) cái lớp vừa tạo xong bỏ vào ổ đĩa bất kì.

Ở đây thì mình chọn ở đĩa C.

Mục đích của việc này là nhằm tránh lỗi phát sinh khi biên dịch vì công cụ không tìm thấy được tập tin cần biên dịch.
Ví dụ: Nếu như mình bỏ tập tin đó vào thư mục có tên là V S

Thì sẽ có lỗi như sau:

Hình như nó không chấp nhận đường dẫn có khoảng trắng nên mới phát sinh lỗi như thế.
Bạn có thể dùng lệnh cd và dir trên Command Prompt của Visual Studio để trỏ tới thư mục chứa tập tin cần biên dịch đó.
Mình thì không rành về các lệnh trong DOS cho lắm cho nên Copy rồi Paste cho chắn ăn!

2. Biên dịch:
Cú pháp biên dịch:
Code: Select all
vbc /target:library <tên đường dẫn đầy đủ của tập tin>
Mở cửa sổ Command Prompt và gõ lệnh:
Code: Select all
vbc /target:library c:\class1.vb

Kết quả nếu như biên dịch thành công:

Tập tin DLL mới được biên dịch xong sẽ nằm cùng thư mục với tập tin cần biên dịch.

3. Sử dụng:
Sau khi đã biên dịch xong thì bạn có thể sử dụng nó như bất cứ DLL nào mà bạn đã từng dùng.
Mình sẽ cắt (Cut) nó bỏ ngược trở lại cái Project lúc nãy.

Nếu không còn dùng lớp Class1.vb nữa thì bạn có thể xóa nó ở cửa sổ Solution Explorer của Visual Studio.
Để dùng chỉ cần add nó vào cái Project bằng cách vào Menu Project -> Add Reference... (hoặc Click chuột phải vào tên Project bên Solution Explorer và chọn Add Reference...) và chọn...

Bây giờ vào khung nhìn Solution Explorer nhấn nút Show All Files

Và cái DLL mà mình vừa add nó sẽ hiện ở mục Reference

Sử dụng nó tương tự như bao các lớp khác.



4. Nói thêm:
Thường thì khi biên dịch sẽ gặp một số lỗi. Lỗi mà mình hay gặp nhất là:

Lỗi trên là do không chỉ rõ đối tượng thuộc đang dùng thuộc lớp nào.
Khắc phục: Chỉ rõ đối tượng đó là lấy từ lớp nào.

Hoặc

Để biết đối tượng đó thuộc lớp nào thì bạn có thể vào Object Browser (View -> Object Browser (F2)) hoặc nhấn F12 khi bạn gõ xong tên đối tượng trong mã chương trình.

Để sửa một số thông tin của DLL như là File Version, Product Name, Product Version, ... thì bạn có thể đúp chuột vào cái DLL đó vào Version ... và hãy chỉnh sửa những thông số mà bạn cho là cần thiết. Việc chỉnh sửa này không hề ảnh hưởng tới DLL. <= mục này bị mất hình nên không hướng dẫn chi tiết được.
