“ActiveX 文档”中的“文档”容易引起误解。ActiveX 文档的起源显示出 Microsoft Visual Basic ActiveX 文档与 Word 文档是类似的,在创建 Visual Basic ActiveX 文档时,“文档”和应用程序之间的区别变得模糊不清了。传统的文档(如 Word 文档)是静态的,而 ActiveX 文档却不是如此。使用 Visual Basic,可以用传统文档的语义学来创建完全的应用程序。换句话说,它不仅有应用程序的功能,而且还有文档性能的灵活性─ 当用户打开一个 ActiveX 文档时,将不仅拥有应用程序的全部功能,而且能保持和发布应用程序原有数据的“备份”,因而,“文档”实际上是主动的。
ActiveX 文档不是全新的概念。您可能已经熟悉了 Word 文档。Word 文档与 Word 应用程序并不相同─ Word 文档(扩展名为 .doc)包含实际的内容,而 Word 应用程序 (Winword.exe) 被用来创建文档。
可以在其它容器中查看 Word 文档。此时,Word 应用程序提供对象,另一个 ActiveX 容器(如 Internet Explorer)可以通过这些对象来查看和激活文档。这种机制对于 Visual Basic 创建的 ActiveX 文档也有效。
如图 11.1 所示,创建基于 ActiveX 文档的工程时,相当于创建可以包含在 ActiveX 容器(如 Internet Explorer)中的 Visual Basic“文档”。编译 ActiveX 文档将创建 Visual Basic 文档文件(扩展名为 .vbd)和它相应的服务器─ ActiveX .dll、或 ActiveX .exe 文件。换句话说,.vbd 文件与 .exe 或 .dll 文件相对应,而 .doc 文件与 Winword.exe 文件相对应。
图 11.1 比较 Word 文档和 ActiveX 文档