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à ǵ ? 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à ǵ ? 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 tŕnh sau đây để register the component
Operating
System
Location
Name
Microsoft
Windows 95
\Windows 95
directory\System
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 timeDim 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 ǵ 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
Variable |
Binding
Type |
Binding
at |
Implications |
|
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à :
Use
the New keyword with a Set statement.
Use
the GetObject function.
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 để tŕ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
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 Syntax
|
Description
of Argument Parts |
|
class |
Required;
Variant (String). The application name and class of the
object to create. |
appname.objecttype |
appname Required;
Variant (String). The name of the application providing the
object. |
|
servername |
Optional;
Variant (String). The name of the network server where the
object will be created. |
|
objecttype Required;
Variant (String). The type 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
Tŕ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 đó.
(...c̣n nữa...mời Quí vị trở lại xem tiếp...)
|
Vovisoft © 2000. All rights reserved. | ||||
|
Last Updated: 21 Jun 2007 |
||||