问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

DELPHI基础教程:对象链接与嵌入(一)[1]

发布网友 发布时间:2023-03-24 23:00

我来回答

1个回答

热心网友 时间:2023-10-17 18:30

  对象链接和嵌入(Object Linking and Embeding)是一组服务功能 它提供了一种用源于不同应用程序的信息创建复合文档的强有力方法 对象可以是几乎所有的信息类型 如文字 位图 矢量图形 甚至于声音注解和录像剪辑等

  Windows附件组中的书写器是应用OLE的实例 使用单击 对象 | 插入 菜单项 书写器弹出插入对话框 对话框中列出了多个OLE服务器程序 如公式编辑工具 绘图工具 报表生成工具 用户双击鼠标左键 可激活一个OLE服务器 在OLE服务器中可编辑OLE对象 当用户返回到书写器中时 在书写器文档中将出现OLE对象

  Delphi支持OLE技术 Delphi 可以创建OLE应用程序 Delphi 可创建OLE自动化服务器和控制器程序 本章通过例程介绍对象链接与嵌入的基本概念 Delphi创建OLE对象的方法 OLE自动化的概念以及如何开发OLE自动化服务器和控制器

  OLE简介

   OLE 和OLE

  迄今为止 有两种版本的OLE:OLE 和OLE 当用户在OLE 服务器中激活OLE对象 服务器程序在前台打开自己的窗体 并获得焦点 OLE窗体失去焦点 存在于单独的窗体之中

  OLE 服务器采用 本地 (in place)激活方式 本地激活意味着服务器菜单与应用程序菜单要进行融合 服务器的状态条更换应用程序状态条 服务器的工具条更换应用程序工具条 OLE对象在应用程序窗体中进行编辑 但所有过程均由服务器处理

  创建OLE对象的服务器决定了OLE的激活方式 如果一个OLE 的对象在OLE 编译的应用程序中打开 它将采用OLE 的方式

   链接与嵌入

  链接对象的数据保存在OLE服务器创建的文件中 嵌入对象的数据保存在OLE应用程序中

  链接对象必须以文件形式保存 只有对OLE服务器已经创建好的OLE对象 才能进行OLE链接 链接的OLE对象文件可被OLE应用程序或其它程序进行修改 OLE 服务器和其它OLE应用程序也可以访问和修改OLE对象 对象数据保存在某一处 但可以被多个应用程序访问

  Delphi应用程序可以得到OLE对象文件中的最新数据 当OLE 对象数据被应用程序修改时 这些变化将在所有包含该对象的其它应用程序中体现

  嵌入对象保存在OLE应用程序中 其它应用程序不能访问该对象 只有在OLE应用程序中激活OLE对象才能对其进行编辑 嵌入的OLE对象不需要保存在文件中 所有数据都在应用程序中 这就确保了OLE数据不会被偶然地删除或修改 不足之处是应用程序的规模因为保存了OLE数据而增大了

  如果用户想保存对嵌入对象的修改 可以把OLE数据存入文件中 本章第 节将详细讨论这个问题

  使用链接或嵌入的原则

  想要对源对象进行修改及将这些修改反映到其他与源对象链接的应用程序或文本中 源对象可能被多个OLE应用程序应用程序频繁修改 源对象的文件不会被频繁移动 且不会被删除

  对象很大 一般通过网络或电子邮件进行分配

  对源对象进行修改 并将这些修改反映在一个特定的应用程序或文本中 源对象不可能被一个OLE应用程序频繁修改 源对象的文件可能被频繁移动 且不会被删除

  对象很小 或对象很大却无法通过网络或电子邮件进行分配

  设计状态OLE对象的创建

  在Delphi中 可分别在设计状态或运行状态创建OLE对象 表 说明了两种状态创建对象的差别

  设计 运行状态OLE对象的创建

  对象保存在运行文件中 增加了所需编译的程序的规模 开发者需在设计时访问OLE服务器运行时OLE对象已经创建 减小了运行时间          OLE对象在设计运行时间可行性编辑应用程序的OLE对象数目在设计时已经确立

  对象保存在一个文件中或只在运行时才有 减小了编译程序的规模 开发者不需要在设计时访问OLE服务器运行时OLE对象已经创建 增加了运行时间 OLE对象只能在运行时编辑 应用程序可以在运行时创建新的OLE对象  在设计状态 OLE服务器不能被本地激活 只能在自己的窗体内激活 但在运行状态

  只要OLE服务器支持本地激活 就可以使用这种方式

  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的B 到B 范围的网格 OLE项目是$GasCosts;$B$ $B$

  设计状态OLE对象的创建

  Dephi可以在设计状态和运行状态中创建OLE对象 本节介绍设计状态OLE对象的创建

  TOLEContainer部件

  要创建OLE对象 需在窗体中加入OLE包容器部件 应用程序部件包含链接或嵌入的对象 用该部件可显示在OLE服务器编辑的数据 部件的ObjClass ObjDoc ObjItem 属性分别定义OLE类 文件 项目 要定义OLE对象是否本地激活 使用InPlaceActive 属性 如果OLE对象可以本地激活 OLE服务器菜单将与OLE应用程序的菜单进行融合 GroupIndex属性的值将决定菜单融合情况

  OLE对象创建的步骤

   在窗体中增加OLE包容器部件

   在Object inspector中单击ObjClass或ObjDoc属性的省略按钮 将出现插入对象对话框

   如果要插入的OLE 对象已存储在文件中 选择 Creat From File 而后定义该对象的文件名和路径名 如果是链接对象 则选择链接检查框 如果是嵌入对象 选择 Creat new 并在对象类型列表框中选择OLE对象

   选择OK按钮

  如果是创建新对象 OLE服务器将激活 则可对OLE对象进行编辑 完成编辑后关闭OLE服务器 典型的例子是单击服务器中的 File 或 File|Update 菜单

   此时ObjClass属性中包含了相应的值 如果OLE对象从已存在的文件中创建或插入一

  个链接对象 ObjDoc属性包含了OLE文件

lishixin/Article/program/Delphi/201311/25219
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"应交税费-应交增值税"账本中应该怎么设置明细科目 本届奥运会女排冠军是哪个 女子排球冠军是哪个国家 巴黎奥运会女排冠军是哪国 奥运女排冠军是哪个国家 奥运会女排冠军是哪国 2024年奥运会女排冠军 电磁炉玻璃面板换下多少钱一个 电磁炉换个面板要多少钱一个 电磁炉面板要换多少钱 爱绿护绿手抄报怎么画 Access关闭OLE服务器 请问苹果7p的最新版本是多少 为什么我的是12.4.1就显示了是最新版本? 梦见小孩吃自己奶 梦见小孩吃自家的奶 梦见被别人告白的预兆 乐华电视HD连接网络机顶盒播放器无图像无声音 乐华液晶电视HDMI接不了电脑 台式电脑和乐华26寸的电视连接HDMI黑屏怎么回事 后来直接没反映啦 乐华电视机显示hdmi,1024×628@60hz 女神节怎么画简笔画 梦见截水沟中有大木头冲过的预兆 梦见水中有木头的预兆 梦见解涨水冲来木头 孕妇梦见家里被盗空了 京东商家发来取消订单确认卡片怎么办 毛衣收边针法 梦见木板从天上掉下来的预兆 海明威前期、中期、后期的主要作品分别有哪些 怎样辨识食物有没有被老鼠咬过 关闭OLE服务器再在ACESS外部重新启动是什么意思 为什么access出现请关闭OLE服务器? Access为什么会提示“与OLE服务器或Activex控件通讯出现问题”? 爱护绿护在行动手抄报 爱绿护绿手抄报 蓝发vtuber有哪些 梦见死去的入朋友的预兆 梦见死了的朋友灵魂瞪着自己的预兆 梦见刚死去的朋友的预兆 梦见自己杀死一只小鸟的预兆 梦见要杀鸟的预兆 梦见杀死鸟手上有血的预兆 梦见杀怪鸟手上有血的预兆 梦见陌生人被人用刀砍的预兆 梦见虫子爬上身来的预兆 photoshop怎样插入两张图片,我下载的是photoshop cs6 PPT在播放的过程中,如何在不推出的情况下打开其他文件,按哪几个键? 红装而蹇者的蹇的意思 红装而蹇者的蹇的意思是什么 梦见白猪仔的预兆 梦见捉住鱼虾蟹的预兆 梦见梦踩死蜻蜓的预兆