━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
设计状态OLE对象的创建 运行状态OLE对象的创建
──────────────────────────────────────
对象保存在运行文件中,增加了所需 对象保存在一个文件中或只在运行时
编译的程序的规模 才有,减小了编译程序的规模
开发者需在设计时访问OLE服务器开发者不需要在设计时访问OLE服务器
运行时OLE对象已经创建,减小了 运行时OLE对象已经创建,增加了运行
运行时间 时间
OLE对象在设计运行时间可行性编辑 OLE对象只能在运行时编辑
应用程序的OLE对象数目在设计时已 应用程序可以在运行时创建新的OLE对
经确立 象
━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━
在
设计状态,OLE服务器不能被本地激活,只能在自己的窗体内激活。但在运行状态,
只要OLE服务器支持本地激活,就可以使用这种方式。
8.1.4 OLE类、文件、项目
OLE类决定创建OLE对象的服务器。有些应用程序需要创建多种类型的OLE对象,例如应用
程序同时链接或嵌入公式、图片等。OLE类也决定OLE对象所包含的数据类型,链接或嵌入对象均要定义OLE类。
OLE文件是包含OLE对象数据的源文件。链接对象必须使用对象文件,因为链接对象在文件中保存。如果应用程序从已存在的源文件中创建嵌入对象,也要使用OLE文件。例如,如果链接到QuattiPro笔记本的OLE对象TUTOR.WBI存储在D:\DFFICE\QPW目录下,则OLE文件就是D:\DFFICE\QPW\TUTOR.WBI。值得注意的是OLE文件只能为链接对象所定义,而对于嵌入对象,只需定义OLE类。
OLE项目是代表链接或嵌入数据的OLE文件中的一部分。当应用程序希望OLE对象包含比OLE文件小的数据块时,则必须使用OLE项目。
例如,在QuattiPro笔记本中,OLE对象链接了GasCosts的B4 到B5
范围的网格,OLE项目是$GasCosts;$B$4.$B$5。
8.2 设计状态OLE对象的创建
Dephi可以在设计状态和运行状态中创建OLE对象。本节介绍设计状态OLE对象的创建。
8.2.1 TOLEContainer部件
要创建OLE对象,需在窗体中加入OLE包容器部件。
应用程序部件包含链接或嵌入的对象。用该部件可显示在OLE服务器编辑的数据。部件的ObjClass,ObjDoc,ObjItem
属性分别定义OLE类、文件、项目。要定义OLE对象是否本地激活,使用InPlaceActive
属性。如果OLE对象可以本地激活,OLE服务器菜单将与OLE应用程序的菜单进行融合,GroupIndex属性的值将决定菜单融合情况。
8.2.2 OLE对象创建的步骤:
1.在窗体中增加OLE包容器部件;
2.在Object inspector中单击ObjClass或ObjDoc属性的省略按钮,将出现插入对象对话框;
3.如果要插入的OLE 对象已存储在文件中,选择“Creat From
File”,而后定义该对象的文件名和路径名。如果是链接对象,则选择链接检查框。 如果是嵌入对象,选择“Creat
new”,并在对象类型列表框中选择OLE对象;
4.选择OK按钮;
如果是创建新对象,OLE服务器将激活,则可对OLE对象进行编辑,完成编辑后关闭OLE服务器。典型的例子是单击服务器中的“File”或“File|Update”菜单。
5.此时ObjClass属性中包含了相应的值,如果OLE对象从已存在的文件中创建或插入一
个链接对
象,ObjDoc属性包含了OLE文件。
在设计对象状态时也可以粘贴OLE对象,其步骤如下:
1.激活服务器应用程序,选择OLE包容器部件;
2.在服务器中,将数据或对象拷贝到剪切板;
3.进入Delphi集成开发环境,选择OLE包容器部件;
4.在 Object inspector窗体中选择ObjItem属性的省略(…)按钮;
5.在
列表中选择OLE对象;
6.选择“Paste"创建一个嵌入对象或选择"Pastelink"创建链接对象;
7.选择OK。
OLE包容器部件在此时初始化。如果粘贴一