什么是ActiveDocument(OLE文档对象
来源:百度文库 编辑:神马文学网 时间:2024/04/27 09:48:22
到现在为止,对于用户在Internet比较熟悉的文档种类,我们还没有进行太多的讨论。例如,用户非常熟悉刚在本地硬盘上修改过的Word文档,但他们在Internet上使用真正干练的ActiveX控件却是不完全熟悉的。对于使用只有程序员喜欢的方式来显示专用页元素的脚本语言,我们也要讨论(用户大概不会全都对创建JavaScript的最新技术感兴趣)。当然,这就会带来差不多每个人都会问到的问题:对于用户而言,除了一点点信息、几个窗体以及那眼花缭乱的ActiveX控件,Internet到底是个什么玩艺儿? 那么,ActiveDocument为你提供一个答案,它们是对每个人说来都可用的在Web页上创建内容并显示数据的一种手段。
但是,ActiveDocument却远远不止是共享信息的一种方式,你可以使用它们正儿八经的干点事。考虑一下这种场景吧:你的公司拥有自己的内部网,公司的雇员们需要时可以在世界上任何地方进入这个网,他们使用这个网获得自己的e-mail并完成各种各样的其它任务。现在你的老板告诉你,要求市场开发部提交报告,而这时大部分销售代表都在外工作着,你怎么样才能完成这一工作呢?
注释 Netscape Navigator和早期版本的Internet Explorer ,通过使用帮手(helpers)让你看到非标准文档。浏览器启动应用程序的一个完整拷贝,并把Web站点上的文件内容传递给它。这种办法的问题是,启动另一个应用会使用更多的内存,而且你与Internet服务器也没有现场连接,所以对文件所作的改变不会立即反映到服务器中去。尽管Microsoft在Internet Explorer3.0及以上版本中仍然使用“帮手”(helpers)一词,但从用户的观点来看两者的意义却是完全不同的。
在这种情况下,ActiveDocument就是答案。使用第8章中讨论过的标记,在HTML 文档中建立到该文档的链接。当用户单击文档引用时,他们在浏览器中看到的是文档的可编辑版本,这个浏览器的菜单和工具栏发生了一些变化。图11.1中显示的是在Internet Explorer浏览器窗口中显示的Word for Windows文档。请注意浏览器所有特色仍然完整无损,变化了的只是文档显示的方式。这种特定技术并不是什么新货色,它被称之为在位编辑(in-place editing)。大多数OLE2服务器现在都能向OLE2客户机提供这种功能,你可以试一下Word forWindows或CoreDRAW!单击 OLE对象时,菜单和工具栏会随时改变得与客户机上的菜单和工具栏匹配。最大的差别在于,这是跨越Internet连接在浏览器中正在发生的事。
注 ActiveDocument使用称之为在位(inplace)编辑的OLE2特色,它让你在客户端中编辑文档而不是作为一个独立的服务器进行编辑。
注释 如果在基于LAN的Internet服务器上测试这个示例的话,可能会出现一个对话框,问你是否想打开或保存文件。多数情况下,在一个现场(live)Internet连接的连接中测试时,肯定会出现这个对话框(取决于你是如何设置浏览器安全性的)。简单打开文件,就会看到如图11.1所示的效果。
你还会注意到另外一个差别。如果改变了这个文本的内容,然后在InternetExplorer浏览器工具栏上单击Back按钮,就会看到如下图所示的对话框,它询问你是否想改变文件。如果单击Yes,就会看到典型的File Save(保存文件)对话框。遗憾的是,使用这一技术保存文件将把文件保存到你的本地硬盘中棗在我们这里这项特性没有什么用处,但也许在别的地方有用。还有其它保存文件的方法,可以使用File(文件)|Save (另存为)命令,你还能够使用File(文件)|Send To(发往)| Web Publishing Wizard(发布向导)命令,真正地将文件送回Web服务器。这正是我们所要的。(Internet Explorer 与Windows的某种组合不提供File|Send To|Web Publishing Wizard命令,这就是说,必须先把文件存在本地硬盘,然后再用Web Publishing Wizard命令将它发往Web服务器)。本章后面一节“使用Web Publishing Wizard”中,将讨论使用Web PublishingWizard所需的步骤。
技巧 对某些情况来说,本节讨论的每种技术的帮助都不太大。例如,你可能想向Web服务器邮寄文档,而且希望每个邮件单独到达。这时,你会告诉用户使用File|SendTo|Mail Recipient(邮件收件人)命令。显然,这就意味着你需要整理所有收到的文档,但是,当其它方法无效时,这种方法却能够使用。
技巧 当前的HTTP1.0规范不允许用户向WWW服务器发布文档,新的HTTP1.1规范修正了这一点。如果你希望允许用户从Web页面上向服务器发布文档,就应提供一个使用1.1规范的服务器。因为不必编写通常的脚本或者在连接中跳来跳去,所以你不仅可以节省时间和精力,而且,可以减少电话支持数量,从而对用户而言事情也就更简单了。(Netscape和Microsoft产品的所有当前版本都支持该1.1规范,如果你拥有任一家供货商产品的老版本,可以查看一下自己的文档。)
ActiveXDocument的变化也使得程序员必须考虑对OLE的支持。在客户机有三级对象参与。对象可以简单地出现在查看区,也可以占据整个窗口,还可以占据整个应用框架。现在来比较一下这三级对象的不同之处。
以前,你可以创建一个对象并将它放在容器中。OLE1出现后,容器只是简单地显示一个图标,说明对象的存在。如果希望编辑对象,可以双击容器中的对象图标。Windows将在另一个窗口中形成该文档的完整拷贝。这正是某些人所说的对象简单地出现在浏览区的意思。
OLE2改变了客户机和服务器交互的方式。现在,你可以真正看到对象的内容了。例如,如果在字处理文档中放入一个电子表格对象,不必双击该对象就能看到它的内容。它就是窗口级的参与者。客户机和服务器共享窗口;客户机显示它的数据,然后依靠服务器显示对象内部信息。OLE2还提供了在位替换操作。大部分情况下,双击对象都会启动一个进程之外的(out-of-process)服务程序,它占据整个客户机框架。服务器占据了一般留作客户机使用的菜单和工具栏。从用户角度来看,应用程序是一样的;只是改变了工具,以满足用户编辑对象的需求。
注 当你创建了一个与外部文档的连接时,OLE1只是显示一个图标;OLE2则显示真正的文档内容并允许进行在位编辑。
通过使用浏览器,ActiveDocument将该技术从桌面系统扩展到了Internet上。现在浏览器工具将会自动更新,以适应用户的需要,用户不必再打开一个其它的程序来编辑文档。一个进程之外的服务程序将负责更新浏览器菜单和工具栏,以适应应用程序的一般需要。实际上,Windows的未来版本将会做得更好。
注 当你单击窗口应用程序中的对象时,进程外的服务程序实现你看到的菜单和工具栏的修改。
Windows 95和Windows NT 4.0使用的都是资源管理器式界面。如果你用右键单击与某个已注册的应用程序相关的文档,就能看到一个有多种选项的菜单。最常见的选项是打开或打印文档。大部分情况下你能看到使用Quick View实用程序浏览文档内容的选项。
用户界面在不久的将来也可能有所改变。双击文档能进行在位操作。服务器将真正接管Explorer的菜单和工具栏。用户再也不必离开Explorer去打开另外一个应用程序窗口。另外,Internet站点就像硬盘一样出现在Explorer中,并组合了目前的浏览器的功能。
程序员们很欢迎这些变化吗 ? 并不全是。有些人已经在抱怨该技术只是加强了Microsoft 对计算机世界的控制。当然,只有在你不能安装另一个服务器来替代Internet Explorer时才会发生这种情况棗这几乎是不可能的事。随着计算技术日趋成熟,ActiveDocument将会成为一种特别重要的技术。这也正是本章为什么重要的原因──本章的目的正是使你跟上这种日新月异的技术的发展,以便你可以使用它来满足目前的计算需求。
创建连接
现在,你已经了解了使用ActiveDocument的结果,并讨论了该技术为什么重要的原因,本节将介绍实现它的HTML代码。程序列表11.1显示了用于创建该示例的代码,这个示例虽然很短但很实用。它没有增加任何特别功能,从而使你可以看到创建ActiveX 文档链接的最小需求。可以看出,代码中只是使用了一个简单的链接。所有该应用程序后面的“魔法”都存在于Internet Explorer中。第8章已经用这种链接来显示Web 站点上的其它页了。
好了,现在浏览器中已经有了一个可以编辑的文档了。这确实不是一件特别困难的事情。由于文档仍在浏览器中。所以可以节省内存。只有一个应用程序处于运行状态,所以尽管实际中要花费一些额外的处理时间和内存来浏览及处理文档,但比起运行两个应用程序来说,这样做的花费要少得多。例如,在位激活功能这一特色就是使用进程外服务程序的结果。进程外服务程序实际上是DLL 的一种“漂亮”的形式,它能提供与客户机应用程序进行通讯的适宜接口。关键在于:DLL 比完整的应用程序占用的内存要少得多,并且也没有理由担心什么显示问题(这是客户机的工作)。本章“ActiveDocument结构概述”一节将介绍这种DLL的一些需求情况。
注 ActiveDocument使用进程外服务程序(通常是一个DLL)来实施在位编辑。
还有两种其它的方法可以创建ActiveDocument连接,不过本章将不用多少时间来讨论这些方法。Microsoft Web Browser Control 允许你浏览Internet上任意类型的文档,包括那些一般与Internet并无关系的文档,如Word for Windows文档。另外,在这方面还有一些高级的
但是,ActiveDocument却远远不止是共享信息的一种方式,你可以使用它们正儿八经的干点事。考虑一下这种场景吧:你的公司拥有自己的内部网,公司的雇员们需要时可以在世界上任何地方进入这个网,他们使用这个网获得自己的e-mail并完成各种各样的其它任务。现在你的老板告诉你,要求市场开发部提交报告,而这时大部分销售代表都在外工作着,你怎么样才能完成这一工作呢?
注释 Netscape Navigator和早期版本的Internet Explorer ,通过使用帮手(helpers)让你看到非标准文档。浏览器启动应用程序的一个完整拷贝,并把Web站点上的文件内容传递给它。这种办法的问题是,启动另一个应用会使用更多的内存,而且你与Internet服务器也没有现场连接,所以对文件所作的改变不会立即反映到服务器中去。尽管Microsoft在Internet Explorer3.0及以上版本中仍然使用“帮手”(helpers)一词,但从用户的观点来看两者的意义却是完全不同的。
在这种情况下,ActiveDocument就是答案。使用第8章中讨论过的标记,在HTML 文档中建立到该文档的链接。当用户单击文档引用时,他们在浏览器中看到的是文档的可编辑版本,这个浏览器的菜单和工具栏发生了一些变化。图11.1中显示的是在Internet Explorer浏览器窗口中显示的Word for Windows文档。请注意浏览器所有特色仍然完整无损,变化了的只是文档显示的方式。这种特定技术并不是什么新货色,它被称之为在位编辑(in-place editing)。大多数OLE2服务器现在都能向OLE2客户机提供这种功能,你可以试一下Word forWindows或CoreDRAW!单击 OLE对象时,菜单和工具栏会随时改变得与客户机上的菜单和工具栏匹配。最大的差别在于,这是跨越Internet连接在浏览器中正在发生的事。
注 ActiveDocument使用称之为在位(inplace)编辑的OLE2特色,它让你在客户端中编辑文档而不是作为一个独立的服务器进行编辑。
注释 如果在基于LAN的Internet服务器上测试这个示例的话,可能会出现一个对话框,问你是否想打开或保存文件。多数情况下,在一个现场(live)Internet连接的连接中测试时,肯定会出现这个对话框(取决于你是如何设置浏览器安全性的)。简单打开文件,就会看到如图11.1所示的效果。
你还会注意到另外一个差别。如果改变了这个文本的内容,然后在InternetExplorer浏览器工具栏上单击Back按钮,就会看到如下图所示的对话框,它询问你是否想改变文件。如果单击Yes,就会看到典型的File Save(保存文件)对话框。遗憾的是,使用这一技术保存文件将把文件保存到你的本地硬盘中棗在我们这里这项特性没有什么用处,但也许在别的地方有用。还有其它保存文件的方法,可以使用File(文件)|Save (另存为)命令,你还能够使用File(文件)|Send To(发往)| Web Publishing Wizard(发布向导)命令,真正地将文件送回Web服务器。这正是我们所要的。(Internet Explorer 与Windows的某种组合不提供File|Send To|Web Publishing Wizard命令,这就是说,必须先把文件存在本地硬盘,然后再用Web Publishing Wizard命令将它发往Web服务器)。本章后面一节“使用Web Publishing Wizard”中,将讨论使用Web PublishingWizard所需的步骤。
技巧 对某些情况来说,本节讨论的每种技术的帮助都不太大。例如,你可能想向Web服务器邮寄文档,而且希望每个邮件单独到达。这时,你会告诉用户使用File|SendTo|Mail Recipient(邮件收件人)命令。显然,这就意味着你需要整理所有收到的文档,但是,当其它方法无效时,这种方法却能够使用。
技巧 当前的HTTP1.0规范不允许用户向WWW服务器发布文档,新的HTTP1.1规范修正了这一点。如果你希望允许用户从Web页面上向服务器发布文档,就应提供一个使用1.1规范的服务器。因为不必编写通常的脚本或者在连接中跳来跳去,所以你不仅可以节省时间和精力,而且,可以减少电话支持数量,从而对用户而言事情也就更简单了。(Netscape和Microsoft产品的所有当前版本都支持该1.1规范,如果你拥有任一家供货商产品的老版本,可以查看一下自己的文档。)
ActiveXDocument的变化也使得程序员必须考虑对OLE的支持。在客户机有三级对象参与。对象可以简单地出现在查看区,也可以占据整个窗口,还可以占据整个应用框架。现在来比较一下这三级对象的不同之处。
以前,你可以创建一个对象并将它放在容器中。OLE1出现后,容器只是简单地显示一个图标,说明对象的存在。如果希望编辑对象,可以双击容器中的对象图标。Windows将在另一个窗口中形成该文档的完整拷贝。这正是某些人所说的对象简单地出现在浏览区的意思。
OLE2改变了客户机和服务器交互的方式。现在,你可以真正看到对象的内容了。例如,如果在字处理文档中放入一个电子表格对象,不必双击该对象就能看到它的内容。它就是窗口级的参与者。客户机和服务器共享窗口;客户机显示它的数据,然后依靠服务器显示对象内部信息。OLE2还提供了在位替换操作。大部分情况下,双击对象都会启动一个进程之外的(out-of-process)服务程序,它占据整个客户机框架。服务器占据了一般留作客户机使用的菜单和工具栏。从用户角度来看,应用程序是一样的;只是改变了工具,以满足用户编辑对象的需求。
注 当你创建了一个与外部文档的连接时,OLE1只是显示一个图标;OLE2则显示真正的文档内容并允许进行在位编辑。
通过使用浏览器,ActiveDocument将该技术从桌面系统扩展到了Internet上。现在浏览器工具将会自动更新,以适应用户的需要,用户不必再打开一个其它的程序来编辑文档。一个进程之外的服务程序将负责更新浏览器菜单和工具栏,以适应应用程序的一般需要。实际上,Windows的未来版本将会做得更好。
注 当你单击窗口应用程序中的对象时,进程外的服务程序实现你看到的菜单和工具栏的修改。
Windows 95和Windows NT 4.0使用的都是资源管理器式界面。如果你用右键单击与某个已注册的应用程序相关的文档,就能看到一个有多种选项的菜单。最常见的选项是打开或打印文档。大部分情况下你能看到使用Quick View实用程序浏览文档内容的选项。
用户界面在不久的将来也可能有所改变。双击文档能进行在位操作。服务器将真正接管Explorer的菜单和工具栏。用户再也不必离开Explorer去打开另外一个应用程序窗口。另外,Internet站点就像硬盘一样出现在Explorer中,并组合了目前的浏览器的功能。
程序员们很欢迎这些变化吗 ? 并不全是。有些人已经在抱怨该技术只是加强了Microsoft 对计算机世界的控制。当然,只有在你不能安装另一个服务器来替代Internet Explorer时才会发生这种情况棗这几乎是不可能的事。随着计算技术日趋成熟,ActiveDocument将会成为一种特别重要的技术。这也正是本章为什么重要的原因──本章的目的正是使你跟上这种日新月异的技术的发展,以便你可以使用它来满足目前的计算需求。
创建连接
现在,你已经了解了使用ActiveDocument的结果,并讨论了该技术为什么重要的原因,本节将介绍实现它的HTML代码。程序列表11.1显示了用于创建该示例的代码,这个示例虽然很短但很实用。它没有增加任何特别功能,从而使你可以看到创建ActiveX 文档链接的最小需求。可以看出,代码中只是使用了一个简单的链接。所有该应用程序后面的“魔法”都存在于Internet Explorer中。第8章已经用这种链接来显示Web 站点上的其它页了。
好了,现在浏览器中已经有了一个可以编辑的文档了。这确实不是一件特别困难的事情。由于文档仍在浏览器中。所以可以节省内存。只有一个应用程序处于运行状态,所以尽管实际中要花费一些额外的处理时间和内存来浏览及处理文档,但比起运行两个应用程序来说,这样做的花费要少得多。例如,在位激活功能这一特色就是使用进程外服务程序的结果。进程外服务程序实际上是DLL 的一种“漂亮”的形式,它能提供与客户机应用程序进行通讯的适宜接口。关键在于:DLL 比完整的应用程序占用的内存要少得多,并且也没有理由担心什么显示问题(这是客户机的工作)。本章“ActiveDocument结构概述”一节将介绍这种DLL的一些需求情况。
注 ActiveDocument使用进程外服务程序(通常是一个DLL)来实施在位编辑。
还有两种其它的方法可以创建ActiveDocument连接,不过本章将不用多少时间来讨论这些方法。Microsoft Web Browser Control 允许你浏览Internet上任意类型的文档,包括那些一般与Internet并无关系的文档,如Word for Windows文档。另外,在这方面还有一些高级的
什么是ActiveDocument(OLE文档对象
了解XML文档对象模型
什么是 面向对象的语言?
使用JAXB从一个对象模型中产生XML文档
VB中的OLE技术与OLE控制
用OLE操作Excel
css div布局要素:文档流position属性 父级对象和同级对象 - 简单 - 51CTO技术博客
XML解析 DOM(文档对象模型)与 SAX(XML简易应用应用程序编程接口)_VICTO...
编写软件架构文档说明,第 1 部分: 什么是软件架构,为什么为软件架构编写文档说明非常重要
VB中OLE调用的优化方法
VB 使用 OLE 自动化嵌入Excel
VB 使用 OLE 自动化嵌入Excel1
Microsoft OLE DB Provider for SQL Server 错误 ‘80040e31‘
Firebird ODBC driver, Interbase ODBC or OLE DB.
转 VB中OLE数据库字段表格的操纵方法
首都OLE和BHG的困惑上--零售讲武堂
什么是
什么是
什么是
会计对象
.NETRemoting对象
面向对象
面向对象
面向对象