服务器

服务器应用程序(或组件应用程序)创建 OLE 项(或组件)供容器应用程序使用。 视觉对象编辑服务器应用程序还支持视觉编辑或就地激活。 OLE 服务器的另一种形式是自动化服务器。 某些服务器应用程序仅支持创建嵌入项;其他则支持创建嵌入项和链接项。 一些仅支持链接,虽然这非常少见。 用户想要编辑项时,所有服务器应用程序都必须支持容器应用程序激活。 应用程序可以既是容器又是服务器。 换言之,它可以将数据合并到其文档中,并创建可合并到其他应用程序文档所含项中的数据。

微型服务器是一种特殊的服务器应用程序,只能由容器启动。 Microsoft Draw 和 Microsoft Graph 就是微型服务器的例子。 微型服务器不会将文档作为文件存储在磁盘上。 不过,它会读取其文档,并将其写入属于容器文档中的项。 因此,微型服务器仅支持嵌入,而不支持链接。

完整服务器可作为独立应用程序运行,也可由容器应用程序启动。 完整服务器可将文档作为文件存储在磁盘上。 它支持仅嵌入、嵌入和链接或仅链接。 容器应用程序的用户可通过在服务器中选择“Cut”或“Copy”命令以及在容器中选择“Paste”命令来创建嵌入项。 链接项通过在服务器中选择“Copy”命令和在容器中选择“Paste Link”命令进行创建。 或者,用户可使用“插入对象”对话框创建嵌入项或链接项。

下表汇总了不同类型服务器的特征:

服务器特性

服务器类型 支持多个实例 每个文档的项数 每个实例的文档数
微型服务器 1 1
SDI 完全服务器 1(如果支持链接,则为 1 个或多个) 1
MDI 完全服务器 否(不需要) 1(如果支持链接,则为 1 个或多个) 0 或更多

如果多个容器将用于编辑嵌入项或链接项,服务器应用程序应同时支持多个容器。 如果服务器是 SDI 应用程序(或具有对话框界面的微型服务器),则服务器的多个实例必须能够同时运行。 这样,应用程序的各个实例单独就可以处理每个容器请求。

如果服务器是 MDI 应用程序,则每次容器需要编辑项时,它都可以创建新的 MDI 子窗口。 这样,应用程序的一个实例就可以支持多个容器。

服务器应用程序必须告知 OLE 系统 DLL 要采取的操作(如果一个服务器实例已经在运行,而另一个容器请求其服务):应启动新服务器实例还是将所有容器的请求定向到服务器的一个实例。

有关服务器的更多详细信息,请参阅:

另请参阅

OLE
容器
容器:高级功能
菜单和资源 (OLE)
注册
自动化服务器