I. GIỚI THIỆU VỀ VISUAL BASIC 6.0:
3. Làm việc với Microsoft VisualBasic 6.0
3.5. Khả năng sử dụng các DLL và Windows API
Windows cung cấp vô số các hàm gọi, dưới dạng thư viện lên kết động (Dynamic Link Libraries ). Trong Visual Basic 6.0 còn có các tiện ích gọi ngược của DLL ( DLL Callback Facilities ), nghĩa là thay vì ta gọi chương trình trong API, nó cho phép ta gọi một API mà bản thân nó có thể gọi ngược về chương trình của ta như là một phần chương trình của nó vậy.
• Giới thiệu về thư viện liên kết động (DLL)
Đối với các ngôn ngữ lập trình cổ điển như C, khi biên dịch chương trình, ta có một chương trình .EXE duy nhất có thể thi hành mà không dùng bất kỳ tập tin nào khác, còn tập tin .vbp của Visual Basic không như thế nó phải chạy trong môi trường Visual Basic.
Có 2 loại thư viện liên kết : thư viện liên kết tĩnh (SLL) và thư viện liên kết động (DLL).
- Liên kết tĩnh : Cung cấp một kết nối bền vững giữa chương trình và module viết sẵn lúc thiết kế, tương tự như viết thủ tục trong Visual Basic và gọi thủ tục đó, nhưng chỉ khác là liên kết tĩnh chứa bên ngoài Visual Basic. Tuy nhiên khi sử dụng cần phải copy đoạn chương trình viết sẵn của liên kết tĩnh vào tập tin chương trình khi biên dịch. Từ đó trở đi nó trở thành một phần của chương trình viết sẵn và gắn chặt với chương trình của ta.
- Liên kết động : Là giải pháp linh hoạt hơn liên kết tĩnh, tập tin thư viện bên ngoài chương trình không bị ràng buộc với chương trình. Nó chứa một nơi sao cho tập tin EXE có thể tìm ra và gửi thông điệp cho nó. Khi thi hành các thông điệp này là các cuộc gọi đến các hàm/ thủ tục, yêu cầu phần nào đó của DLL được thi hành.
Các DLL của Visual Basic nằm trong thư mục Windows \ System \ • Giới thiệu về các DLL của Windows.
- KERNEL32 : Là DLL chính, đảm nhiệm quản lý bộ nhớ, thực hiện chức năng đa nhiệm và những hàm ảnh hưởng trực tiếp đến hoạt động của Windows.
- USER32 : Là thư viện quản lý Windows. Thư viện này chứa các hàm xử lý menu, định giờ, truyền tin, tập tin và nhiều phần không được hiển thị khác của Windows.
- GDI32 : Là thư viện chứa giao diện thiết bị đồ hoạ (Graphics Device Interface) cung cấp các hàm vẽ trên màn hình, cũng như kiểm tra phần biểu mẫu nào cần vẽ lại.
- WINNM: cung cấp các hàm Multimedia để xử lý âm thanh, nhạc, video, thời gian thực, lấy mẫu, vv… Đây là thư viện 32 bit còn thư viện 16 bit tương ứng tên là MMSYSTEM.
• Thế mạnh của DLL.
- Nhất quán : Người sử dụng ưa chuộng Windows vì đa số đều có một giao diện phổ biến cho mọi ứng dụng, nghĩa là có chương trình chung để tạo ra chúng.
- Dễ bảo trì : Những thay đổi hoặc bổ sung nếu có sẽ biểu hiện trên mọi ứng dụng.
- Tập tin .EXE nhỏ hơn : Do một phần công việc chứa đựng ở nơi khác và không gắn kết “cứng nhắc” như liên kết tĩnh, kích cỡ tập tin nhỏ hơn. Tuy nhiên DLL còn chứa nhiều thành phần khác chứ không chỉ những gì chương trình của ta cần.
Cấu trúc của Windows : DLL là nền tảng thiết kế của Windows. Windows thực chất là tập hợp các DLL để các ứng dụng khác nhau có thể dùng chung. Bên trong các DLL là hàng trăm, ngàn các hàm và thủ tục. Ta gọi chung là Windows API.
• Giới thiệu về WIN API
- Giao diện lập trình ứng dụng ( Application Programmer’s Interface ) là tập hợp các hàm có sẵn của Windows, chúng gần gủi với ngôn ngữ C/ C++ hơn. Visual Basic được thiết kế theo kiểu che bớt các công việc bên dưới hệ thống. Phần lớn các cuộc gọi đến hàm API được lồng trong các dạng lệnh của Visual Basic, bao gồm các
từ khoá, phương thức và thuộc tính. Chúng sẽ được thông dịch thành WinAPI và chúng ta vận dụng các thế mạnh hổ trợ của chúng.
- Lớp bọc API và các điều khiển hiệu chỉnh : Điều khiển hiệu chỉnh (OCX hay ActiveX) bản thân chúng là những lớp bọc API, chúng chuyển giao chuyển giao các chức năng theo kiểu Visual Basic một cách thân thiện. Các điều khiển ActiveX và OLE Automation Servers đưa chương trình vào các đề án mà không cần có các DLL thực sự.
• Cách gọi hàm API.
Gọi hàm API trong Visual Basic không khác với gọi hàm/ thủ tục trong module của đề án.