Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->ASP ->正文

ActiveX技术综述(二) 

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-01 点击: [收藏] [投稿]


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动态连接库。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:ActiveX技术综述(一)    下一篇:Windows 2000 安全性技术概述--1

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号