今天我们所要讨论的问题是利用Visual Basic创建在面向Internet的应用中起重要作用的ActiveX组件。例如,你所创建的ActiveX控件可以用于HTML页面;你开发的ActiveX文档可以在Internet浏览器中使用并于其他的组件一起和HTML页面集成起来;另外ActiveX代码组件(以前被称为OLE服务器),可以被部署在客户端或服务器端的计算机上用于后台的处理。
[Internet的开发环境]
Internet是一个使用TCP/IP协议、全球性的非集中管理的计算机网络。如果去掉全球性这一点,所谓"Internet技术"完全可以和本地局域网中所使用的技术一样。
从一方面来看,Internet技术只是简单地为开发人员提供了另一个施展身手的空间。如果你在和Web连接时使用了ActiveX组件,尽管你具体实现的方法有可能不同,如采用了HTML和VBScript代码以实现安全性或是其他,但是你仍然在调用方法,设置属性,处理事件等等。这样,作为一个VB开发人员所有的知识和技能都被用于了Internet的环境下。
从另外一个方面来看,应用Internet的技术可以使你向一些吸引人的方向延伸你的开发工作。例如将ActiveX组件和Internet技术综合有以下的益处:
Internet客户/服务器
可以借用客户机/服务器的关系来考查Internet的开发环境,客户端和服务器端都可以有"静态的"和"活动的"两种状态。活动的客户机或服务器可以根据其内部状态的改变而动态地运行一个脚本或是改变其行为;而静态的客户机或服务器仅仅只是对外界激励作出反应。
Internet开发包括以下四种情形:
静态的客户机和静态的服务器
静态的客户机和活动的服务器
活动的客户机和静态的服务器
活动的客户机和活动的服务器
静态的客户机和静态的服务器
静态的客户向静态的服务器发送请求,服务器响应该请求并返回一个文件。一旦HTML页面被下载到客户端,客户机和服务器的连接就终止,直到服务器接受到下一个请求。在使用FTP下载文件或是Usernet阅读新闻时也会发生同样的情形。
静态的客户机和活动的服务器
假如你正在使用一个静态的客户端,例如和一个当前应用程序相连接的Web浏览器窗体,以下载一个HTML页面,上面有文本框以输入查询内容,还有按钮以把用户输入的条目作为一个字符串发送给服务器。当你发送完文本之后,服务器返回一个已定制过的HTML页面-往往是通过调用一个DLL中的函数,上面有你查询的结果。这就是一个"活动的"服务器的例子,它自动处理数据并根据条件返回一个定制的结果。
创建活动服务器的途径之一就是通过使用Visual Basic开发的DLL并用Oleisapi2.dll实现访问。Oleisapi2.dll包含在Windows NT Server 4.0之中,是Internet Information Server (IIS)的一种功能,它包括了ISAPI的函数功能集。通过IIS和Oleisapi2.dll,你可以在Web服务器上部署DLL,并从客户端使用HTML页面上的信息或调用其方法。
活动的客户机和静态的服务器
当客户机拥有处理能力时称之为活动的客户机。活动的客户机拥有本地处理任务的能力,而不是请求服务器帮助处理。在客户机/服务器应用中,本地处理的能力不仅提高了任务完成的速度,而且减轻了服务器的负担。
活动客户机的情形有很多种。例如,用Visual Basic构建的ActiveX文档几乎可以包括所有传统应用的功能。当你把它放到一个容器中时,例如Internet Explorer,你的客户端就完全拥有了传统Visual Basic中所有的动态功能。客户端也可以通过在一个HTML页面中使用VBScript调用ActiveX控件或DLL实现。
活动的客户机和活动的服务器
在三层结构的客户机/服务器环境中开发部署的应用中,其组件分布于整个网络上,总起来完成提供用户界面,实现业务准则和数据访问的功能,而且由于可以充分利用客户端和服务器端的处理能力,可以实现更复杂的数据访问功能。
一个活动的服务器可以负责跟踪客户提交的查询表格,提交查询并返回结果。一个活动的客户机则负责将返回的结果展现给用户,然后将改变的内容返回给服务器。另外通过Internet组件的下载,当用户访问Web站点时,可以自动更新客户端提交查询和处理结果的准则。
[在Web上使用ActiveX组件]
ActiveX组件为Internet技术带来了新的功能。通过Internet组件的下载,超连接,菜单协商等各种功能,将ActiveX组件和Internet集成起来,内容和应用程序之间的界线也越来越模糊。另外由于在站点上(在客户机和服务器之间)分布功能函数,我们可以创建更具扩展性和灵活性的站点。
在Internet应用程序中使用ActiveX文档
使用ActiveX文档,我们可以开发和Internet/Intranet站点的其他元素紧密集成的Visual Basic的应用程序。利用这些组件开发出来的应用程序,用户可以透明地在HTML页面和ActiveX文档之间迁移。
可以把ActiveX文档作为Visual Basic为Internet提供的应用。几乎所有现在用标准应用程序完成的工作都可以用ActiveX文档实现。
作为HTML页面中的一个元素,如果在用户的客户机上没有安装ActiveX文档,当用到它们时,可以自动地从网上下载;如果客户机上的版本比较旧,也可以可以自动升级。ActiveX文档的许多特性提供了很好的安装,导航性能,并可以保证很好的持续一致性:
Internet组件的下载---你可以创建一个到你的ActiveX文档的连接,使浏览器可以自动找到并下载所有需要的组件。
菜单和协商---由于可以从Word或Excel中获得文档,Visual Basic的ActiveX文档提供了将其菜单嵌入浏览器中的菜单的功能。例如当文档被装载入Internet Explorer中后,浏览器的菜单将和你为该ActiveX文档创建的菜单混合。
PropertyBag---当你在Internet Explorer中部署一个ActiveX文档时,你可以通过PropertyBag对象保持数据的一致性。
下面我们来看一看如何在Internet Explorer中部署一个ActiveX文档。假设我们要通过一个HTML页面中的超连接连接到这个ActiveX文档上:
1. 用HTML创建引用这个ActiveX文档的连接。
由于ActiveX文档将在Internet Explorer中取代HTML页面,所以有必要将组件的OBJECT标签放在另一个HTML页面中。当跳转到该页面后,一旦ActiveX文档被装载,它就会立刻消失。
2. 用HTML为浏览器提供下载、注册以及导航到这个ActiveX文档的途径。
在Internet应用程序中使用ActiveX控件
ActiveX控件为你的HTML页面带来了活力。通过HTML和VBScript,你可以在一个HTML页面上使用ActiveX控件,设置它们的属性,调用它们的方法并处理它们的事件。一个包含控件的的HTML页面仿佛一个Visual Basic的设计窗口。ActiveX控件可以提供更多的交互式的,生动的用户界面特性,使HTML页面变得更加有活力。
控件的类别ID,以使程序能在Windows的注册表中找到它们;
CODEBASE属性,告诉浏览器如果组件不在客户机上该去哪儿找;
然后用VBScript编写处理单击事件的代码,使每一个控件被单击后,程序可以作相应的动作。
Visual Basic专业版中还包括了三个已预先设计好的用于包裹Internet相关技术的控件,使你能够扩展已有的应用程序,它们是:
Internet Transfer Control---包裹了三种通用的Internet协议:HTTP,FTP和Gopher;
WebBrowser Control---包含了许多通过Internet Explorer可以获得的功能;
WinSock Control---使你可以连接到一台远程的机器,然后通过UDP或TCP交换数据。
在Internet应用程序中使用ActiveX代码组件
原文链接:https://www.f2er.com/vb/259193.html