Visual Basic 6.0 中的WEB 工具-4

modico
在Visual Basic窗体中嵌入Web功能
或许,你现在的处境和想法与大多数人不一样:你手头有一个典型的,基于窗体的Visual Basic应用程序(典型的就地运行型应用程序),你现在只想在应用程序中加进一些Web功能。通过将基于Web的控件嵌入到你的应用程序中,你可以使它具备一些Web功能。比如,你可以将某个控件嵌入到应用程序中的一个窗体中,使窗体在运行起来如同Internet Explorer。两者的区别在于,在窗体中,你可以对显示和导航操作进行完全控制。
有许多基于Web的控件可供使用,包括:
  • WebBrowser控件,它可以使你的应用程序具有导航能力。
  • DHTML编辑控件,它可以使你的应用程序具有编辑所见即所得HTML 的能力。
  • Internet 传输控件,它可以使你的应用程序更容易通过HTTP 和FTP实现对外界的访问。
    然而,如果你想构建一个完全能够在Web环境下运行的应用程序,你可能不希望通过在现有的基于Visual Basic 的应用程序中添加这些控件来实现(你可以通过把浏览器作为客户端应用程序来满足你的这种要求)。但是,如果你希望在一个主要是基于客户机的应用程序增加Web功能,这些控件还是很有用的。
    在窗体中创建浏览器
    控件WebBrowser在一个如同浏览器般的窗口中运行,它能象Internet Explorer一样,在它自己的窗口产生HTML(DHTML)。你还可以在窗体中添加按扭,文本框和其它标准的Visual Basic 控件,以使应用程序具有导航和其它一些浏览功能。控件WebBrowser是Internet Explorer 的一个组成部分。
    在窗体中创建HTML编辑器
    DHTML编辑控件的功能更加强大:它不仅可以产生文档,还能够提供编辑所见即所得的功能。利用这个控件,你可以为用户提供一个完全的进行编辑HTML的环境。有一个样例应用程序为用户提供了编辑DHTML 的功能,实际上,它就是在现有的Visual Basic 应用程序中嵌入了DHTML编辑控件来实现的。
    发送和接收原始的Web 数据
    另外一个有用的控件是Internet 传输控件,它能够通过HTTP协议(下载)或者是FTP协议(上载或下载)实现对文本,图象以及二进制信息的低级传输。这个控件在运行窗口并不产生任何信息,它仅仅负责处理Web上点到点之间的传输。Web发布向导是使用Internet 传输控件的一个很好的样本应用程序。该控件是Visual Basic 的一个组成部分,你可以在Visual Basic的帮助文档中了解关于它的更多信息。
    在浏览器中运行Visual Basic 应用程序
    在Visual Basic 中创建Web应用程序的第三种方式是利用Visual Basic 窗体和Internet Explorer 创建一个复合性的应用程序。我们可以通过以下两种渠道来创建:
  • 活动文档,它允许你在其中运行Visual Basic 窗体,与在Internet Explorer中运行窗体的方式类似。
  • DHTML应用程序。你可以通过使用DHTML Web页面,而不是Visual Basic 窗体来创建应用程序的用户界面。
    活动文档
    活动文档指的是可以在另外一个容器应用程序中运行的一个窗体,在此,容器应用程序指的是Internet Explorer 。由于活动文档有时也用在Windows Explorer ,Microsoft Word ,以及其它一些在Internet Explorer中运行的应用程序中,因此,你有必要了解这项技术。我们在Visual Basic 以前的版本中已经对活动文档做了一定的介绍,从中,你可以了解到,它与Internet Explorer 3.0是兼容的。
    你可以用创建其它任何Visual Basic 应用程序的方式来创建活动文档类型的应用程序-你所要做的就是将Visual Basic 或者ActiveX控件拖放到窗体上(在此,根据上下文,我们可以将窗体称作是用户文档设计器),接下来为控件编写相应的代码,然后对工程进行编译。活动文档和普通的Visual Basic 窗体的唯一区别在于:活动文档在Web浏览器中运行。
    活动文档将独立运行的Visual Basic 应用程序与纯粹的基于浏览器的应用程序进行了结合。因此,活动文档是一项过度性的技术,可能它只能在短期内为我们从事Web应用程序的开发带来方便。鉴于此,可能你也不希望采用这项技术进行较大规模或者是长期的应用开发。
    活动文档并不是能够独立运行的应用程序。当你发布包含了活动文档的应用程序时,你必须同时将Visual Basic运行时所需要的动态链接库(DLL),后缀为.vbd 的文件以及与应用程序相关的其它文件包括在内。很明显,用户还需要一个浏览器来来运行活动文档。在实际中,运行活动文档的浏览器通常是Internet Explorer 3.0,如果你希望应用程序表现出更好的性能,你也可以用Internet Explorer 4.0 或者其更高版本。
    DHTML 应用程序 
    在浏览器中运行基于Visual Basic 的应用程序的第二种方式是使用DHTML应用程序。这项首先在Visual Basic 6.0中采用的技术,与活动文档有些类似。之所以这样说,是因为这项技术也是用来创建在Web浏览器中运行的应用程序。然而,DHTML应用程序是一个真正的DHTML Web页面,而不仅仅是一个在浏览器中运行的窗体。
    DHTML 应用程序是用一个称作是DHTML 页面设计器的工具来创建的,它除了可以使用Visual Basic 所提供的一些工具外,还可以使用DHTML对象模型和HTML脚本语言。在DHTML应用程序中,既可以包含ActiveX控件,也可以包含设计用来与DHTML 页面协同工作的Visual Basic 控件。
    注意:当把ActiveX控件与DHTML页面设计器放在一起时,对它们的使用存在一些限制。如果你想详细信息,请查看Visual Basic 中的Readme 文件。
    同活动文档一样,DHTML应用程序也无法单独运行-它们属于功能集中型应用程序。当你发布DHTML应用程序时,你必须同时将Visual Basic 运行时所需要的动态链接库(DLL),后缀为.dsr和.dsx的文件,以及与应用程序相关的所有HTML页面和其它文件包括在内。并且,应用程序只能在一个支持DHTML的容器应用程序,比如象一个Web浏览器(或者是一个Web浏览器控件)中运行。有时,这个Web浏览器可能指的就是Internet Explorer 4.0或者是其更高版本。
    活动文档和DHTML应用程序的优点
    活动文档和DHTML应用程序具有以下优点
  • 两者都允许你选用Visual Basic ,而不是HTML编辑工具作为应用开发环境。
  • 两者都使用编译后的Visual Basic 代码,因此可以防止用户查看甚至是操纵程序代码。 此外,活动文档还具有其它一些优点。如果出现下面的情况,你可以考虑使用活动文档:
  • 你希望将现有的Visual Basic 窗体迅速地移植到一个基于浏览器的应用程序中。
  • 你希望在你的应用程序中不仅能对页面,也能对整个浏览器窗口进行控制。我们知道,HTML和DHTML并不能对它们所在的Web页面以外的元素进行操作,比如象菜单项,滚动条,工具条诸如此类的元素。然而,活动文档使你能够对整个浏览器窗口进行控制,它允许你创建定制的菜单项,操作工具条等等。
    就DHTML应用程序而言,它也有自身的优势。你可以根据自己的需要在应用程序中充分发挥DHTML的强大功能,从而使你能够对浏览器中显示的用户界面部分进行有效的控制。
    缺点
    通过对这两种类型的技术的介绍,我们可以看出,它们在创建基于Visual Basic 的应用程序时是两种非常有用的技术。然而,对这两种技术的使用也有一些限制因素,如活动文档和DHTML应用程序在运行的过程中都必须要有Visual Basic运行库和以Internet Explorer 为代表的浏览器(宿主机)的支持,对此你应该有清楚的认识。
    对于活动文档,我们需要考虑的其它一些限制因素包括:
  • 在浏览器中运行的Visual Basic 窗体的运行界面与我们习惯的Web 用户界面并不一致。比如,如果某个窗体具有一菜单项,当窗体在运行时,用户看到了两个菜单-一个在窗体上的,另一个是浏览器本身带有的。
  • 活动文档并不一定能同其它Web页面协同工作。比如,象基于文本的超级链接这些标准的web特性,在活动文档中实现起来就比较困难,其原因就是在Visual Basic 中并没有超级链接控件。你是用按扭或者是其它一些可编程的控件
    ,通过跳转来模拟Web 环境中的超级链接的。
  • 发布活动文档的过程可能会很烦琐。
  • 在浏览器中运行Visual Basic窗体这项技术是由Microsoft 推出的,但是,Microsoft 不太可能把推广这项技术作为它在将来的一项战略。 通过以上正反两方面的分析和说明,我们可以这样来评价活动文档:当你需要将应用程序的某个特定的环节移植到Web上,利用活动文档将变得十分有用。但是,不要将所有的Web应用程序都创建成活动文档,当然,你可以考虑将活动文档转换成真正的基于浏览器的应用程序,以在将来发行你的应用程序的更新版本。
    DHTML应用程序也具有以下的一些不足之处:
  • 要创建DHTML应用程序,你需要学习一种与大多数Visual Basic 对象模型不同的新的对象模型(DHTML)。
  • 由于一些必要的组件(比如象Visual Basic 运行库)包含的程序模块很大,因此DHTML应用程序的安装和配置比较复杂。
  • 同活动文档一样,Microsoft 在Visual Basic 将来的发行版本中,并不一定会将DHTML应用程序包含在内。
    如果你想了解关于活动文档更加详细的信息,请参看"Component Tools Guide(组件工具指南)"一书中以下主题:"ActiveX Document Advantages (ActiveX文档优点)"," Building ActiveX Documents (设计ActiveX文档)"以及"创建ActiveX文档", MSDN帮助文档库中的Visual Basic 部分对该书进行了介绍。如果你想了解关于DHTML应用程序更加详细的说明,请参阅该书中的另一主题部分:"开发DHTML应用程序"。
    结论
    到现在,你应该对以下问题有了一个初步的认识了:应该如何使用Visual Basic 来创建Web应用程序,为什么以及应该在哪些场合中使用Visual Basic来创建Web应用程序。为了决定到底采用哪种类型的应用程序,你要做的第一件事就是认清你开发应用程序的目标,了解客户的需求。因此,在决定是选择基于服务器的远程调用型的应用程序还是选择基于客户机的本地执行型的应用程序时,不仅要考虑前端用户的特性,还要把其它一些因素,如安全性和处理工作量考虑在内。
    接下来,你又开始了另外一件重要但也是很有意思的工作:确定采用哪一种Visual Basic 技术(或者是哪几种)来创建应用程序。一般而言,采用WebClasses 是一种比较好的选择,因为它可以为开发工作提供很大的灵活性。而其它Visual Basic Web技术对应用程序,客户以及开发过程有一些特定的要求和限制。
    当然,我们在此只是对Visual Basic Web技术作了比较肤浅的介绍。在Visual Basic 的帮助文档中,你可以看到对这些技术深入细致的说明。另外一种获取信息的有效方式是利用MSDN联机帮助,里面包含了与进行Web设计和开发有关的文档,文章和技巧。
    ※编辑: typhoon 于 2001-5-9 13:37:11 在 [202.117.82.2] 编辑本文

  • 欲求无限
    立地成佛
    .
    有时候
    交谈变得空洞
    沉默却像沟通