Visual Basic Bách Khoa-Chương 7- Sử dụng COM Component
Ðể học hỏi Visual Basic một cách hữu hiệu, bạn cần phải biết xử dụng những phương thức cơ bản để viết ứng dụng Visual Basic.Trong tài liệu này sẽ trình bày cho các bạn những phương thức cơ bản đó. Sau đây là những phần mà chúng tôi sẽ giới thiệu cùng các bạn :
Viết một ứng dụng cơ bản cho người xử dụng.
Danh sách những nhu liệu cần thiết để hoàn thành ứng dụng Visual Basic.
...
Chương 7 : Xử dụng COM Component
COM là viết tắt của Component Object Model. COM là một tổ hợp code dùng
để làm một công việc chuyên nghiệp cho ứng dụng. COM components có thể là
internal component (bộ phận dùng cho bên trong ứng dụng, không cho vay
mượn), được hoán chuyển thành dạng project và chỉ xử dụng trong nội bộ mà thôi.
COM components còn có thể là external components, được hoán chuyển thành
dạng executable _ *.exe, hay dynamic link library _ *.dll. External COM components
có thể cho Client application vay mượn. Lợi ích của việc xử dụng COM components
là các bạn không cần phải biết những rắc rối phiền phức về code, cũng như làm
sao đối phó với sự cố...Việc bạn cần biết là chức năng của COM components đó là
gì ? Có thể xử dụng ở hệ thống ứng dụng của bạn hay không ?...Thí dụ như bạn có
một *.dll là cái đồng hồ. Bạn không cần phải biết bên trong đồng hồ component là
gì ? Bạn chỉ cần biết làm sao để thêm vào trong ứng dụng của bạn cho đúng với
yêu cầu của ứng dụng. Trong chương này, chúng ta sẽ lần lượt tìm hiểu làm sao
mà xử dụng COM components.
Xử dụng external component trong Visual Basic yêu cầu 4 bước sau đây :
1. Making the component available to your application. Làm cho component
hiện hữu trong ứng dụng.
2. Declaring an object variable to hold an instance of the class you are
reusing. Xác định mối liên hệ giửa component và bộ phận mà bạn sẽ xử
dụng.
3. Creating the object.
4. Using the object.
Chương 7 _Phần 1 _Ðoạn 1 : Making the component available
Bước đầu tiên là bạn register the component. Bởi vì external components có thể ở
dạng *.dll hay là *.exe, không thể tự nó chạy vào trong Computer system được, cho
nên bạn phải tiến hành một chương trình sau đây để register the component
Operating System Location Name
Microsoft Windows 95 \Windows 95 directory\System Regsvr32.exe
Microsoft Windows NT \Windows NT directory\System32 Regsvr32.exe
Thí dụ như các bạn có một component tên là Payroll.dll thì xử dụng command này
để đưa component này vào hệ thống máy :
Regsvr32.exe C:\StateUBookstore\payroll.dll
Bước kế tiếp là set references. Theo các bước sau đây thì các bạn sẽ có file này
trong library và sẳn sàng để xử dụng.
1. On the Project menu, click References.
Visual Basic displays the References dialog box.
2. Click the reference to the type library you want to use, and then click OK.
Chương 7 _Phần 1_Ðoạn 2 : Declare Object Variables
Chúng ta nhận định Object mà chúng ta sẽ xử dụng trước khi chúng ta tạo thành
một instance of a component (khi được chỉ định tới thì bộ phận đó biết chuyện mà
làm) cho client application. Nhận định object variables có 2 thể loại là specific (nhất
định một công việc nào đó) và generic (chung chung)
Specific Object Variables : Ða số trường hợp chúng ta chỉ định Object Variable
cho một công việc nhất định. Thí dụ như chúng ta declare (chỉ định _Theo nghỉa
Programming) ie để nhắm vào một bô phận nhất định là Internet Explorer mà thôi.
Chúng ta làm việc này lúc Design time
Dim ie As InternetExplorer
Generic Object Variables : Chúng ta xử dụng Generic Object Variables khi thật sự
là cần thiết mà thôi. Visual Basic chỉ biết là Object gì lúc run time mà thôi, cho nên
thể loại rất rắc rối. Do đó chỉ xử dụng khi bạn cần viết một function mà nó làm việc
cho vài objects khác nhau mà thôi. Trong trường hợp này, bạn phài declare variable
là As Object.
Dim objGeneric As Object
Bây giờ chúng ta hãy nói về Variable Types và Binding
Object Binding Binding at Implications
Variable Type
Specific Early Design Time Visual Basic có thể nhận biết
các syntax để thực hiện công
việc (task) trong các objects.
Generic Late Run Time Visual Basic chỉ có thể nhận
biết task lúc run time mà thôi.
Do đó cản trở nhiều về phía
client application.
Chương 7 _Phần 1_Ðoạn 3 : Creating Object for Component
Một khi bạn có component từ bên ngoài application và đã nhận định object
variable để giử an instance cho component, bạn có thể tạo thành object. Có 3 cách
để tạo thành object cho component lấy từ bên ngoài. Ðó là :
1. Use the New keyword with a Set statement.
2. Use the GetObject function.
3. Use the CreateObject function.
Xử dụng từ New với bộ Set để tạo thành Object : Một khi bạn đã đăng ký type
library cho external component (bộ phận lấy từ bên ngoài) và xác định specific
variable (early binding) thì các bạn có thể xử dụng New keyword với Set statement
mà hình thành Object. Sau đây là thí dụ cách tạo thành một instance cho Internet
Explorer application.
Sub StartIE()
Static ie As InternetExplorer
Set ie = New InternetExplorer
ie.Visible = True
End Sub
Xử dụng GetObject Function : Khi bạn muốn tạo thành một instance cho một
object mà đã có rồi trong computer system, thì hãy xử dụng GetObject function.
Sau đây là thí dụ về một object dùng để trình bày tài liệu được viết trong Word và
tên của hồ sơ là Contract.doc
Sub PreviewContract()
Static wdContract As Word.Document
Set wdContract = GetObject("C:\Contract.doc",
"Word.Document")
wdContract.Parent.Visible = True
wdContract.PrintPreview
End Sub
Xử dụng CreateObject Function : dùng cho Generic variable, bởi vì bạn không
biết object thuộc thể loại nào ? cho tới khi nó được gọi tới (late binding). Các bạn
xử dụng CreateObject function để instantiate (có thể xử dụng ngay lập tức) class.
Syntax (công thức) cho CreateObject function được viết như sau :
CreateObject(class,[servername])
Sau đây là bản phân tích arguments (những vấn đề có liên quan) của CreateObject
function:
Argument Description Class Argument Description of
Syntax Argument Parts
class Required; Variant appname.objecttyp appname
(String). The e
application name and Required; Variant
class of the object to (String). The
create. name of the
application
providing the
object.
servername Optional; Variant objecttype
(String). The name
of the network server Required; Variant
where the object will (String). The type
be created.
or class of object
to create.
Chương 7 _Phần 1_Ðoạn 4 : Using Object Component
Xử dụng Component Properties và Component methods : Code cho bộ phận
dẩn nhập vào trong application từ bên ngoài (external component) cũng giống như
bộ phận bên trong của application vậy (internal component). Thí dụ như để gọi
Refresh method cho bộ phận Internet Explorer, chúng ta viết code cho click event
như sau :
Private Sub cmdRefresh_Click()
ie.Refresh
End Sub
Trình bày diển biến của Object : Tương tự như chương 3, xử dụng class
module. Bạn cần phải điều khiển event. Thí dụ như bạn có một event là download
trong bộ phận Internet Explorer, thì mỗi lần người xử dụng download thì bạn sẽ
thấy thông báo là “Download begin...” Bạn phải xử dụng WithEvents, sau đó mỗi
lần event download tiến hành sẽ được thông báo.
Dim WithEvents ie As InternetExplorer
Private Sub ie_DownloadBegin()
lblStatus.Caption = "Download begun..."
End Sub
Chương 7 _Phần 2 : Using Internet Explorer
Internet Explorer là một external COM component, bộ phận này rất cần thiết cho
Client Apllication nếu các bạn làm việc với Web Application. Tại sao ? Nếu không
có Internet Explorer, làm sao bạn lên mạng lưới viễn thông để trao đổi tài liệu ?
Cho nên trong phần này, chúng ta sẽ cùng nhau làm một application có Internet
Explorer trong đó.