| 導購 | 订阅 | 在线投稿
分享
 
 
 

ActiveX技術綜述(二)

來源:互聯網網民  2008-06-01 01:12:29  評論

6.VisualC++5.0對ActiveX的支持

VC++5.0(企業版)爲Internet開發提供了完整的解決發案,其內容是:

*使用MFC或者ATL開發ActiveX控制和ActiveX文檔。

*使用ISAPI設計WEB服務器端的部件。

*使用WinInet開發通過Internet存取文件的應用程序。

*使用AsynchronousMonikers生成從Internet下載數據的應用程序。

*使用ActiveXSDK開發其它類型的基于Internet的Win32應用程序,包括ActiveXScriptinGhost,MicrosoftWebConferencing等。

6.1.用VC5.0開發ActiveX控制

VC++5.0提供兩個途徑開發ActiveX控制:MFC和ATL(ActiveTemplateLibrary)。使用MFC,可以不必理會控制接口的細節,把注重力集中在控制本身的功用上,但是生成的控制比較大。而且,客戶端假如要運行此ActiveX控制,必須擁有相應

版本的MFC類庫的DLL,否則,必須同時下載這些巨大的類庫;使用ATL,由于不涉及MFC的標准類庫,生成的控制相對較小,但開發者必須了解COM、OLE技術的細節。大多數情況下,可以使用MFC開發ActiveX控制,這樣比較輕易。而且,由于InternetEXPlorer3.0提供了MFC4.1的類庫,而InternetExplorer3.0是Windows95提供的組件,所以,只要ActiveX控制使用的是MFC4.1或者更早的版本,多數情況下不需要下載MFC的類庫。

使用MFC開發ActiveX控制,可以用MFCActiveXControlWizard生成工程框架。VC會自動産生三個類:(假設MyName是控制的名字。)

*CMyNameApp:從類COleControlModule派生,而類COleControlModule則派生自CWinApp;

*CMyNameCtrl:從類COleControl派生,而類COleControl則派生自CWnd;

*CMyNamePropPage:從類COlePropertyPage派生,而類COlePropPage則派生自CDialog;

可以看出,這個框架與一般的MFC應用程序有些類似。開發人員的大部分工作在CMyNameCtrl中,例如用ClassWizard添加屬性、方法和事件,處理顯示等。

編譯生成OCX文件後,用VC提供的ActiveXTestContainer測試這個控制,也可以用OLE/COMObjectViewer浏覽此控制的接口信息及類型庫。

6.2.ActiveX控制在WEB上的應用

考慮到WEB的安全性,爲了在服務器與客戶端建立良好的信任關系,必須爲每個在WEB上使用ActiveX控制設置一個「代碼簽名」(CodeSigning)。VC5.0提供了生成供測試用的「代碼簽名」的工具。假如要正式發布,則必須向有關機構申請。

(參見http://www.microsoft.com/intdev/signcode/)

在WEB頁面中使用ActiveX控制,還要對之進行包裝,將有關的動態連接庫及信息文件壓縮到一個擴展名爲CAB(Cabinet)文件中。可以使用VC5.0提供的工具包裝ActiveX控制。在Html文件中,使用OBJECT標簽插入ActiveX控制,並利用VBScript或者JScript訪問該ActiveX控制。客戶端用InternetExplorer浏覽此頁面時,可以自動解包該文件。出于安全性的考慮,InternetExplorer爲ActiveX部件的下載、初始化、是否擁有合法的代碼簽名以及是否答應Scripting等設置了不同的

安全級別,用戶可根據需要進行設置。下面這個例子中,使用了ActiveX控制「MSChart.OCX",當用鼠標單擊此控制時,控制的標題將改變。

<OBJECT

CLASSID="clsid:31291E80-728C-11CF-93D5-0020AF99504A"

CODEBASE="MSCHART.CAB#version=1,0,0,0"

ID=chart1

WIDTH=400

HEIGHT=200

ALIGN=center

>

</OBJECT>

<SCRIPTlanguage="VBScript">

Subchart1_Click()

Document.chart1.TitleText="MyTitle"

EndSub

這裏,必須提供該OCX的ClassID和文件路徑或URL。客戶端浏覽此頁面時,先在本地的注冊表中查找該ClassID,假如存在,則不必下載。否則,必須按照CODEBASE指定的路徑搜索該控制並下載。標簽Object中的ID是該OCX的對象的名稱,用來

訪問和設置對象屬性,調用對象方法等。

6.3.用VC5.0開發ActiveX文檔服務器

MFC4.2不支持開發ActiveX容器,但支持ActiveX服務器。只要在使用MFCAppWizard時生成應用程序框架時,選擇支持ActiveDocument,就可生成標准的ActiveX文檔服務器。運行此應用程序時,該文檔對象將自動注冊。要測試這個ActiveX 文檔,可以運行任何一個ActiveX文檔容器,如MicrosoftBinder、MicrosoftWord等,再插入此對象。

6.4.VC5.0的ActiveX服務器框架

*ISAPI(InternetServerAPI)

ISAPI提供了擴展支持WEB服務器的簡單而有效的方法。開發人員可以設計生成IS API服務器擴展動態連接庫(ISAPIServerExtensionDLL),它可以被HTTP服務器調用。例如,客戶端用戶填寫了一個表單,按下「提交」按鈕後,輸入的數據將被傳送至HTTP服務器,激活相應的ISAPI擴展應用程序,該應用程序可以處理用戶的輸入信息,進行相應的操作。或者,按照用戶的要求訪問數據庫,讀取用戶指定的數據,動態生成HTML文件,再傳回客戶端。

*ISAPI過濾器(ISAPIFilters)

ISAPI過濾器是一種運行在支持ISAPI的HTTP服務器上的動態連接庫。它的作用是:監視服務器與客戶端的事件,當預先指定的某事件發生時,過濾器被調用,對要傳遞的數據進行加密或壓縮,或者進行身份認證。換句話說,ISAPI過濾器提供了對服務器和客戶之間傳遞的數據進行預處理的功能。

*ISAPI和通用網關接口(CGI)的比較

ISAPI爲WEB服務器提供了通用網關接口應用程序的替代解決方案。與CGI不同的是,ISAPI擴展應用程序和HTTP服務器運行在同一個地址空間,不需要創建新的進程,因而不需要進行那些進程之間耗費時間的通訊。ISAPI應用程序可以從HTTP服務 器中卸載,爲其它進程騰出內存空間。CGI則必須爲每一個任務建立獨立的執行文件及URL映射,HTTP服務器收到達每一個請求都將啓動一個新的進程。另外,CGI沒有與ISAPI過濾器相對應的功能。

6.5.WinInet(MicrosoftWin32InternetExtensions)

VC5.0提供了開發客戶端基于WEB的應用程序的API:WinInet,並將其封裝成若幹MFC類,如CInternetSession、CHttpConnection等。使用這些類,開發人員不需了解TCP/IP以及Winsock的細節,只要針對具體應用建立類對象就可以了。

6.6.AsynchronousMonikers

由于目前網絡帶寬的限制,用戶通常希望能夠異步下載數據,例如異步下載網頁的一張圖片,並顯示下載進度。MFC提供了類CAsyncMonikerFile來實現這個功能。

6.7.ActiveXSDK

VC5.0還提供了專門的WIN32ActiveX開發工具:ActiveXSoftwareDevelopmentKit(ActiveXSDK)。ActiveXSDK包含一系列接口定義及與Internet有關的WIN32函數,包括ActiveXScriptingComponent、WebBrowsingObject、WebPost API等,用戶可以利用這些接口和API開發面向WEB的應用程序或ActiveX部件。

6.8.VisualC++6.0

1998年9月,Microsoft將推出的VisualC++6.0。VC6.0除了保留VC5.0的ActiveX支持外,還將支持DHTML,MFC及ATL的類庫及模板也有擴充。用戶可以方便地開發出類似WEB浏覽器界面的應用程序。

7.VisualBasic5.0對ActiveX的支持

7.1.VisualBasic部件

VisualBasic5.0(以下簡稱VB)的部件(Component)是由可執行代碼構成的文件(EXE,DLL,OCX),它可以爲其他應用程序或者部件使用。以前版本的VB答應用戶生成稱爲"OLEServer"的部件,VB5.0擴展了部件設計功能,支持引發事件,異步回調(Call-backs)等,並增強了創建ActiveX控制和ActiveX文檔的功能

VB5.0的ActiveX部件(Component)包括:

*ActiveX控制

ActiveX控制與客戶應用程序運行在同一個進程中。用VB5.0創建可用于VB或者其它開發工具及WEB浏覽器的ActiveX控制,與一般的VB應用程序設計大同小異。可以爲ActiveX控制加上屬性頁,並實時調試。另外,VB5.0提供了一組強大的數據庫存取控制,開發人員只需編寫少量代碼就可以完成一般的數據庫操作。

*ActiveX文檔

VB5.0的ActiveX文檔提供了內置的窗口滾動、超鏈接以及菜單支持,直接嵌入WEB頁中。編制ActiveX文檔與設計VB表單(FORM)完全相同,用戶可以選擇生成ActiveXDocumentDLL或者ActiveXDocumentEXE。無論哪一種類型,VB都將生成一個類似表單文件的VBD(VisualBasicDocument)文件。可以直接用Internet Explorer來浏覽這個文件,或者用VBScript或者JScript進行訪問。

*ActiveXDLL

ActiveXDLL提供的對象與應用程序運行于同一個進程中。應用程序可以創建對象,設置對象屬性,調用對象的方法。ActiveXDLL一般不需要建立用戶界面。

*ActiveXEXE

ActiveXEXE提供的對象與應用程序運行于在不同的進程中。應用程序創建對象,調用對象的方法後,可以繼續進行自己的工作。當對象的工作完成後,它會通知應用程序。

ActiveXDLL和ActiveXEXE合稱爲VisualBasic代碼部件(CodeComponent)。

7.2.包裝ActiveX部件

上述ActiveX部件都可以使用VB5.0的SetupWizard進行包裝,生成采用Lempel-Ziv壓縮算法的CAB文件,在WEB上發布。SetupWizard將把相關的動態連接庫及信息文件一同包裝。使用VB5.0生成的ActiveX部件,可以包裝成SafeScripting和SafeInitializing。

7.3.ActiveX文檔在WEB上的應用

向WEB頁面中加入ActiveX文檔,首先要將該ActiveX文檔包裝成CAB文件。由于InternetExplorer讀入ActiveX文檔時,該文檔將取代當前的WEB頁,因此,一般將ActiveX文檔(即HTML的標記OBJECT)放在一個獨立的HTML文件中。例如,下面這條語句建立了一個超鏈接:

<AhRef="ActiveXDoc.htm">LinktoaActiveXDocument</A>

其中,ActiveXDoc.htm是下載ActiveX文檔的HTML文件:

<OBJECT

classid="clsid:2F390484-1C7D-11D0-8908-00A0C90395F4"

codebase="ActiveXDoc.cab#version=1,0,0,0">

</OBJECT>

這條語句將下載ActiveXDoc.cab,並在Windows注冊表中注冊該ActiveX文檔。

7.4.VisualBasic代碼部件在WEB上的應用

VisualBasic代碼部件包括ActiveXDLL和ActiveXEXE,它們可以在服務器端運行,也可以從客戶端下載再運行。

假如某個ActiveXDLL運行在服務器端,服務器上運行的是InternetInformationServer,則可以使用VB的OLEISAPI2.DLL提供的函數進行訪問,或者基于ActiveServerPages使用VBScript或者JScript。

假如希望客戶端下載某個代碼部件,則首先要將該部件包裝成CAB文件。例如,用VB5.0企業版生成了一個ActiveXDLL:MyDLL.DLL,它只有一個類:MyClass,其唯一的方法是顯示LogIn對話框。用SetupWizard包裝這個部件,生成了CAB文件。下面的語句將在客戶端下載MYDLL.CAB:

<OBJECTID=MyClass

CLASSID="CLSID:503B3E09-2191-11D2-8E90-00104B64F7B7"

CODEBASE="mydll.cab">

</OBJECT>

<INPUTTYPE=buttonVALUE="LogInNOW"NAME="BTnLogin">

<!--

Whenthebuttonisclicked,callthe"LogIn"method.

-->

<SCRIPTlanguage="VBScript">

<!--

SubWindow_OnLoad

MyClass.Login

EndSub

SubBtnLogin_OnClick()

MyClass.Login

EndSub

-->

</Script>

其中,ObjectID是這個ActiveXDLL中某個類的名字。當此WEB頁面被下載並顯示時,MyClass類的方法LogIn將被調用,並在客戶端顯示LogIn對話框。

7.3.VisualBasic6.0

Microsoft計劃于1998年9月推出VisualBasic6.0。目前Beta版正在測試。VB6.0與VB5.0相比,除繼續支持InternetExplorerDocumentObjectModel(DOM)開發之外,將提供兩個令人興奮的新功能:

*DynamicHTML編輯器

開發人員可以象編制普通VB程序一樣,制作DHTML文件或模板。

*WebClasses;

開發人員可以在WEB服務器端建立與ASP文件一一對應的WebClass類,每個類都可以訪問ASP對象,在VisualBasicIDE中跟蹤調試,並生成ISAPI動態連接庫。

8.小結

正如Internet和WEB技術一樣,ActiveX技術的發展日新月異,新的更強大的開發工具使得服務器及客戶端的應用開發、網站建設變得更簡單,並輕易擴展和重用。隨著Microsoft的包括WindowsNT、InternetInformationServer、ActiveServerPages以及MicrosoftFrontPage、InternetExplorer等組件在內完整的Internet解決方案被廣泛使用,ActiveX技術將會有更大的發展。

參考文獻:

1.VisualC++技術內幕(第二版),[美]DavidJ.Kruglinski著,王國印譯,

清華大學出版社。

2.ActiveX開發人員指南,[美]EricTall,MarkGinsburg著,章巍等譯,機械

工業出版社。

3.VisualBasic6.0:YouWon'tBelieveWhatJustHittheWeb,JoshuaT

rupin,MicrosoftInteractiveNetworkDeveloper(MIND),1998年8月。

4.IntrodUCtiontoActiveXControls,MicrosoftCorp.,MSDN,1998年8月。

5.DynamicHTMLandtheBigPicture,JohnSwenson,MSDNOnline,1997年11月。

6.ABriefPreviewoftheVisualBasic5.0DevelopmentEnvironment,MichaelOtey,WindowsNTMagazine,1997年4月。

7.http://www.microsoft.com/,Microsoft公司,包括MSDN、MSJ等技術資源。

8.http://www.ActiveX.com,第三方開發的ActiveX控制。

9.http://www.Active-X.com,有關ActiveX技術的文檔資料。

10.http://www.WinntMag.com,WindowsNTMagazine雜志。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
6.VisualC++5.0對ActiveX的支持   VC++5.0(企業版)爲Internet開發提供了完整的解決發案,其內容是:   *使用MFC或者ATL開發ActiveX控制和ActiveX文檔。   *使用ISAPI設計WEB服務器端的部件。   *使用WinInet開發通過Internet存取文件的應用程序。   *使用AsynchronousMonikers生成從Internet下載數據的應用程序。   *使用ActiveXSDK開發其它類型的基于Internet的Win32應用程序,包括ActiveXScriptinGhost,MicrosoftWebConferencing等。 6.1.用VC5.0開發ActiveX控制   VC++5.0提供兩個途徑開發ActiveX控制:MFC和ATL(ActiveTemplateLibrary)。使用MFC,可以不必理會控制接口的細節,把注重力集中在控制本身的功用上,但是生成的控制比較大。而且,客戶端假如要運行此ActiveX控制,必須擁有相應   版本的MFC類庫的DLL,否則,必須同時下載這些巨大的類庫;使用ATL,由于不涉及MFC的標准類庫,生成的控制相對較小,但開發者必須了解COM、OLE技術的細節。大多數情況下,可以使用MFC開發ActiveX控制,這樣比較輕易。而且,由于InternetEXPlorer3.0提供了MFC4.1的類庫,而InternetExplorer3.0是Windows95提供的組件,所以,只要ActiveX控制使用的是MFC4.1或者更早的版本,多數情況下不需要下載MFC的類庫。   使用MFC開發ActiveX控制,可以用MFCActiveXControlWizard生成工程框架。VC會自動産生三個類:(假設MyName是控制的名字。)   *CMyNameApp:從類COleControlModule派生,而類COleControlModule則派生自CWinApp;   *CMyNameCtrl:從類COleControl派生,而類COleControl則派生自CWnd;   *CMyNamePropPage:從類COlePropertyPage派生,而類COlePropPage則派生自CDialog;   可以看出,這個框架與一般的MFC應用程序有些類似。開發人員的大部分工作在CMyNameCtrl中,例如用ClassWizard添加屬性、方法和事件,處理顯示等。   編譯生成OCX文件後,用VC提供的ActiveXTestContainer測試這個控制,也可以用OLE/COMObjectViewer浏覽此控制的接口信息及類型庫。 6.2.ActiveX控制在WEB上的應用   考慮到WEB的安全性,爲了在服務器與客戶端建立良好的信任關系,必須爲每個在WEB上使用ActiveX控制設置一個「代碼簽名」(CodeSigning)。VC5.0提供了生成供測試用的「代碼簽名」的工具。假如要正式發布,則必須向有關機構申請。   (參見http://www.microsoft.com/intdev/signcode/)   在WEB頁面中使用ActiveX控制,還要對之進行包裝,將有關的動態連接庫及信息文件壓縮到一個擴展名爲CAB(Cabinet)文件中。可以使用VC5.0提供的工具包裝ActiveX控制。在Html文件中,使用OBJECT標簽插入ActiveX控制,並利用VBScript或者JScript訪問該ActiveX控制。客戶端用InternetExplorer浏覽此頁面時,可以自動解包該文件。出于安全性的考慮,InternetExplorer爲ActiveX部件的下載、初始化、是否擁有合法的代碼簽名以及是否答應Scripting等設置了不同的   安全級別,用戶可根據需要進行設置。下面這個例子中,使用了ActiveX控制「MSChart.OCX",當用鼠標單擊此控制時,控制的標題將改變。 <OBJECT CLASSID="clsid:31291E80-728C-11CF-93D5-0020AF99504A" CODEBASE="MSCHART.CAB#version=1,0,0,0" ID=chart1 WIDTH=400 HEIGHT=200 ALIGN=center > </OBJECT> <SCRIPTlanguage="VBScript"> Subchart1_Click() Document.chart1.TitleText="MyTitle" EndSub   這裏,必須提供該OCX的ClassID和文件路徑或URL。客戶端浏覽此頁面時,先在本地的注冊表中查找該ClassID,假如存在,則不必下載。否則,必須按照CODEBASE指定的路徑搜索該控制並下載。標簽Object中的ID是該OCX的對象的名稱,用來   訪問和設置對象屬性,調用對象方法等。 6.3.用VC5.0開發ActiveX文檔服務器   MFC4.2不支持開發ActiveX容器,但支持ActiveX服務器。只要在使用MFCAppWizard時生成應用程序框架時,選擇支持ActiveDocument,就可生成標准的ActiveX文檔服務器。運行此應用程序時,該文檔對象將自動注冊。要測試這個ActiveX 文檔,可以運行任何一個ActiveX文檔容器,如MicrosoftBinder、MicrosoftWord等,再插入此對象。 6.4.VC5.0的ActiveX服務器框架   *ISAPI(InternetServerAPI)   ISAPI提供了擴展支持WEB服務器的簡單而有效的方法。開發人員可以設計生成IS API服務器擴展動態連接庫(ISAPIServerExtensionDLL),它可以被HTTP服務器調用。例如,客戶端用戶填寫了一個表單,按下「提交」按鈕後,輸入的數據將被傳送至HTTP服務器,激活相應的ISAPI擴展應用程序,該應用程序可以處理用戶的輸入信息,進行相應的操作。或者,按照用戶的要求訪問數據庫,讀取用戶指定的數據,動態生成HTML文件,再傳回客戶端。   *ISAPI過濾器(ISAPIFilters)   ISAPI過濾器是一種運行在支持ISAPI的HTTP服務器上的動態連接庫。它的作用是:監視服務器與客戶端的事件,當預先指定的某事件發生時,過濾器被調用,對要傳遞的數據進行加密或壓縮,或者進行身份認證。換句話說,ISAPI過濾器提供了對服務器和客戶之間傳遞的數據進行預處理的功能。   *ISAPI和通用網關接口(CGI)的比較   ISAPI爲WEB服務器提供了通用網關接口應用程序的替代解決方案。與CGI不同的是,ISAPI擴展應用程序和HTTP服務器運行在同一個地址空間,不需要創建新的進程,因而不需要進行那些進程之間耗費時間的通訊。ISAPI應用程序可以從HTTP服務 器中卸載,爲其它進程騰出內存空間。CGI則必須爲每一個任務建立獨立的執行文件及URL映射,HTTP服務器收到達每一個請求都將啓動一個新的進程。另外,CGI沒有與ISAPI過濾器相對應的功能。 6.5.WinInet(MicrosoftWin32InternetExtensions)   VC5.0提供了開發客戶端基于WEB的應用程序的API:WinInet,並將其封裝成若幹MFC類,如CInternetSession、CHttpConnection等。使用這些類,開發人員不需了解TCP/IP以及Winsock的細節,只要針對具體應用建立類對象就可以了。 6.6.AsynchronousMonikers   由于目前網絡帶寬的限制,用戶通常希望能夠異步下載數據,例如異步下載網頁的一張圖片,並顯示下載進度。MFC提供了類CAsyncMonikerFile來實現這個功能。 6.7.ActiveXSDK   VC5.0還提供了專門的WIN32ActiveX開發工具:ActiveXSoftwareDevelopmentKit(ActiveXSDK)。ActiveXSDK包含一系列接口定義及與Internet有關的WIN32函數,包括ActiveXScriptingComponent、WebBrowsingObject、WebPost API等,用戶可以利用這些接口和API開發面向WEB的應用程序或ActiveX部件。 6.8.VisualC++6.0   1998年9月,Microsoft將推出的VisualC++6.0。VC6.0除了保留VC5.0的ActiveX支持外,還將支持DHTML,MFC及ATL的類庫及模板也有擴充。用戶可以方便地開發出類似WEB浏覽器界面的應用程序。 7.VisualBasic5.0對ActiveX的支持 7.1.VisualBasic部件   VisualBasic5.0(以下簡稱VB)的部件(Component)是由可執行代碼構成的文件(EXE,DLL,OCX),它可以爲其他應用程序或者部件使用。以前版本的VB答應用戶生成稱爲"OLEServer"的部件,VB5.0擴展了部件設計功能,支持引發事件,異步回調(Call-backs)等,並增強了創建ActiveX控制和ActiveX文檔的功能 。 VB5.0的ActiveX部件(Component)包括:   *ActiveX控制   ActiveX控制與客戶應用程序運行在同一個進程中。用VB5.0創建可用于VB或者其它開發工具及WEB浏覽器的ActiveX控制,與一般的VB應用程序設計大同小異。可以爲ActiveX控制加上屬性頁,並實時調試。另外,VB5.0提供了一組強大的數據庫存取控制,開發人員只需編寫少量代碼就可以完成一般的數據庫操作。   *ActiveX文檔   VB5.0的ActiveX文檔提供了內置的窗口滾動、超鏈接以及菜單支持,直接嵌入WEB頁中。編制ActiveX文檔與設計VB表單(FORM)完全相同,用戶可以選擇生成ActiveXDocumentDLL或者ActiveXDocumentEXE。無論哪一種類型,VB都將生成一個類似表單文件的VBD(VisualBasicDocument)文件。可以直接用Internet Explorer來浏覽這個文件,或者用VBScript或者JScript進行訪問。   *ActiveXDLL   ActiveXDLL提供的對象與應用程序運行于同一個進程中。應用程序可以創建對象,設置對象屬性,調用對象的方法。ActiveXDLL一般不需要建立用戶界面。   *ActiveXEXE   ActiveXEXE提供的對象與應用程序運行于在不同的進程中。應用程序創建對象,調用對象的方法後,可以繼續進行自己的工作。當對象的工作完成後,它會通知應用程序。   ActiveXDLL和ActiveXEXE合稱爲VisualBasic代碼部件(CodeComponent)。 7.2.包裝ActiveX部件   上述ActiveX部件都可以使用VB5.0的SetupWizard進行包裝,生成采用Lempel-Ziv壓縮算法的CAB文件,在WEB上發布。SetupWizard將把相關的動態連接庫及信息文件一同包裝。使用VB5.0生成的ActiveX部件,可以包裝成SafeScripting和SafeInitializing。 7.3.ActiveX文檔在WEB上的應用   向WEB頁面中加入ActiveX文檔,首先要將該ActiveX文檔包裝成CAB文件。由于InternetExplorer讀入ActiveX文檔時,該文檔將取代當前的WEB頁,因此,一般將ActiveX文檔(即HTML的標記OBJECT)放在一個獨立的HTML文件中。例如,下面這條語句建立了一個超鏈接: <AhRef="ActiveXDoc.htm">LinktoaActiveXDocument</A> 其中,ActiveXDoc.htm是下載ActiveX文檔的HTML文件: <OBJECT classid="clsid:2F390484-1C7D-11D0-8908-00A0C90395F4" codebase="ActiveXDoc.cab#version=1,0,0,0"> </OBJECT> 這條語句將下載ActiveXDoc.cab,並在Windows注冊表中注冊該ActiveX文檔。 7.4.VisualBasic代碼部件在WEB上的應用   VisualBasic代碼部件包括ActiveXDLL和ActiveXEXE,它們可以在服務器端運行,也可以從客戶端下載再運行。   假如某個ActiveXDLL運行在服務器端,服務器上運行的是InternetInformationServer,則可以使用VB的OLEISAPI2.DLL提供的函數進行訪問,或者基于ActiveServerPages使用VBScript或者JScript。   假如希望客戶端下載某個代碼部件,則首先要將該部件包裝成CAB文件。例如,用VB5.0企業版生成了一個ActiveXDLL:MyDLL.DLL,它只有一個類:MyClass,其唯一的方法是顯示LogIn對話框。用SetupWizard包裝這個部件,生成了CAB文件。下面的語句將在客戶端下載MYDLL.CAB: <OBJECTID=MyClass CLASSID="CLSID:503B3E09-2191-11D2-8E90-00104B64F7B7" CODEBASE="mydll.cab"> </OBJECT> <INPUTTYPE=buttonVALUE="LogInNOW"NAME="BTnLogin"> <!-- Whenthebuttonisclicked,callthe"LogIn"method. --> <SCRIPTlanguage="VBScript"> <!-- SubWindow_OnLoad MyClass.Login EndSub SubBtnLogin_OnClick() MyClass.Login EndSub --> </Script>   其中,ObjectID是這個ActiveXDLL中某個類的名字。當此WEB頁面被下載並顯示時,MyClass類的方法LogIn將被調用,並在客戶端顯示LogIn對話框。 7.3.VisualBasic6.0   Microsoft計劃于1998年9月推出VisualBasic6.0。目前Beta版正在測試。VB6.0與VB5.0相比,除繼續支持InternetExplorerDocumentObjectModel(DOM)開發之外,將提供兩個令人興奮的新功能:   *DynamicHTML編輯器   開發人員可以象編制普通VB程序一樣,制作DHTML文件或模板。   *WebClasses;   開發人員可以在WEB服務器端建立與ASP文件一一對應的WebClass類,每個類都可以訪問ASP對象,在VisualBasicIDE中跟蹤調試,並生成ISAPI動態連接庫。 8.小結   正如Internet和WEB技術一樣,ActiveX技術的發展日新月異,新的更強大的開發工具使得服務器及客戶端的應用開發、網站建設變得更簡單,並輕易擴展和重用。隨著Microsoft的包括WindowsNT、InternetInformationServer、ActiveServerPages以及MicrosoftFrontPage、InternetExplorer等組件在內完整的Internet解決方案被廣泛使用,ActiveX技術將會有更大的發展。 參考文獻: 1.VisualC++技術內幕(第二版),[美]DavidJ.Kruglinski著,王國印譯, 清華大學出版社。 2.ActiveX開發人員指南,[美]EricTall,MarkGinsburg著,章巍等譯,機械 工業出版社。 3.VisualBasic6.0:YouWon'tBelieveWhatJustHittheWeb,JoshuaT rupin,MicrosoftInteractiveNetworkDeveloper(MIND),1998年8月。 4.IntrodUCtiontoActiveXControls,MicrosoftCorp.,MSDN,1998年8月。 5.DynamicHTMLandtheBigPicture,JohnSwenson,MSDNOnline,1997年11月。 6.ABriefPreviewoftheVisualBasic5.0DevelopmentEnvironment,MichaelOtey,WindowsNTMagazine,1997年4月。 7.http://www.microsoft.com/,Microsoft公司,包括MSDN、MSJ等技術資源。 8.http://www.ActiveX.com,第三方開發的ActiveX控制。 9.http://www.Active-X.com,有關ActiveX技術的文檔資料。 10.http://www.WinntMag.com,WindowsNTMagazine雜志。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有