ylbtech-架构-数据库访问-SQL语言进行连接数据库服务器-OLE:OLE

Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)。OLE可以用来创建复合文档,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把文字声音图像表格、应用程序等组合在一起。

1.返回顶部
1、
中文名:对象连接与嵌入
外文名:Object Linking and Embedding
简    称:OLE
作    用:开发可重复使用的软件组件
类    型:桌面应用程序集成
借    鉴:多媒体
2、
2.返回顶部
1、

微软API

OLE(Object Linking and Embedding,对象连接与嵌入),是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。OLE从多媒体借鉴而来,是Windows的一组服务功能,提供了一种以源于不同应用软件的信息建立复合文档的强有力方法。在对象连接和嵌入系统中,对象可以是几乎所有的数据类型,例如文字、点阵图像和矢量图形,甚至于声音、注解和录像剪辑等均可。对象被赋予了智能属性,即参与连接和嵌人的对象本身带有计算机指令。
OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程序的链接的混合文档以使用户修改时不必在应用程序间切换的协议。OLE基于组件对象模型(COM) 并允许开发可在多个应用程序间互操作的可重用即插即用对象。该协议已广泛用于商业上,在商业中电子表格、字处理程序、财务软件包和其他应用程序可以通过客户服务器体系共享和链接单独的信息。
关于 OLE ,业界早就在抱怨它的缓慢和庞大,对市场敏感的 Microsoft 需要对那些 API 函数提出一种新的术语以适应未来的操作系统和Internet技术。有趣的是 Microsoft 已经宣布 OLE 不再代表对象链接与嵌入,而只是一个过去的名词而已。
 

OLE的版本

迄今为止,有两种版本的OLE:OLE1.0和OLE2.0。当用户在OLE1.0 服务器中激活OLE对象,服务器程序在前台打开自己的窗体,并获得焦点。OLE窗体失去焦点,存在于单独的窗体之中。
OLE2.0服务器采用“本地”(in place)激活方式。本地激活意味着服务器菜单与应用程序菜单要进行融合,服务器的状态条更换应用程序状态条,服务器的工具条更换应用程序工具条。OLE对象在应用程序窗体中进行编辑,但所有过程均由服务器处理。
创建OLE对象的服务器决定了OLE的激活方式。如果一个OLE1.0的对象在OLE2.0 编译的应用程序中打开,它将采用OLE1.0的方式。
 

功能介绍

 

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项目。
 

OLE应用程序的菜单

OLE应用程序的菜单与其它应用程序的主菜单大体一致,如果应用程序中有支持本地激活的OLE 2.0对象,则要进行菜单融合。查阅OLE 服务器的资料可知道服务器是否支持本地激活。
OLE应用程序菜单的GroupIndex属性决定融合菜单的位置,即融合菜单是更换主菜单,还是插入至应用程序的主菜单中。
 

OLE工具条和状态条

当OLE对象被本地激活时,OLE服务器将试图用自己的工具条和状态条替换OLE应用程序的。如果应用程序想要本地激活, 就应该在应用程序中编写相应的代码让服务器使用工具条和状态条。要做到这点,必须:
● 设置工具条和状态条
● 在应用程序中加入状态条
通过修改面板部件的属性创建工具条和状态条。当OLE对象被本地激活时,面板或其他对齐控制将与OLE服务器程序进行协调。 这意味OLE服务器可以替换OLE应用程序窗体中任何对齐控制,但锁定的控制不能被替换。例如,如果面板的align属性是alTop,alleft,alBottom,alIngh时,控制未锁定,OLE服务器可以替换。要使应用程序的工具条、状态条不被替换,可将locked属性设置成真值。
 

OLE自动化

OLE自动化是Windows应用程序操纵另一个程序的一种机制。将被自动化的程序称作自动化对象或自动化服务器, 例如 Word , 操作或自动化其他程序的应用程序称为自动化控制器或自动化客户器 [2]  。利用 OLE 自动化的思想, 可以实现两个 Web 应用系统之间的相互作用。OLE 2.0提供了一种方法来集成应用程序,这就是应用程序之间的命令操作。
利用OLE 2.0,程序员可以定义一组命令,使它们进入到其它程序中。这些命令可带参数。看起来很象应用程序在调用函数或过程一样。采用上述办法, 可以在人不参与的情况下,就能使得两个应用程序的相互作用。被自动化的程序称作自动化对象或自动化服务器, 操作或自动化其他程序的应用程序称为自动化控制器或自动化客户器。
2、
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

架构-数据库访问-SQL语言进行连接数据库服务器-OLE:OLE的更多相关文章

  1. 架构-数据库访问-SQL语言进行连接数据库服务器:SQL语言进行连接数据库服务器

    ylbtech-架构-数据库访问-SQL语言进行连接数据库服务器:SQL语言进行连接数据库服务器 数据库和应用服务器的连接. 在基于三层构架的信息系统开发中,应用服务器要利用SQL语言进行连接数据库服 ...

  2. 架构-数据库访问-SQL语言进行连接数据库服务器-DAO:DAO

    ylbtech-架构-数据库访问-SQL语言进行连接数据库服务器-DAO:DAO DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft ...

  3. 架构-数据库访问-SQL语言进行连接数据库服务器-DB-Library:DB-Library

    ylbtech-数据库访问-SQL语言进行连接数据库服务器-DB-Library:DB-Library 1.返回顶部 1. 在基于三层构架的信息系统开发中,应用服务器要利用SQL语言进行连接数据库服务 ...

  4. MySQL入门——MySQL数据库和SQL语言

    MySQL入门——MySQL数据库和SQL语言 摘要:本文主要了解了MySQL关系型数据库和SQL语言的基本知识. MySQL数据库 简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB ...

  5. Sybase数据库常用sql语言

    Sybase数据库常用sql语言 1,表备份: --table_name1:需要备份的表; table_name2:备份后的表 SELECT * into table_name2 from table ...

  6. SQL数据库—<1>SQL语言

    关系数据库.SQL语言简单.学习软件介绍 SQL:Structured Query Language 结构化查询语言 数据库分为:层次型,网状型,关系型. 关系型数据库:是一个二维表的集合,可以用来存 ...

  7. 数据库与SQL语言

    数据库(DB) :长期储存在计算机中.有组织.可共享的数据的集合. 特点:(1)数据按一定的数据模型组织.描述和储存:(2)较小的冗余度:(3)数据独立性较高:(4)易扩展:(5)可共享(不同用户可按 ...

  8. mysql数据库基本操作sql语言

    mysql的启动与关闭 启动 /etc/init.d/mysql start 多实例使用自建脚本启动 2种关闭数据库方法 mysqladmin -uroot -p密码 shutdown #优雅关闭/e ...

  9. Oracle DBLink跨数据库访问SQL server数据同步 踩坑实录

    项目需求:这里暂且叫A公司吧,A公司有一套人事管理软件,需要与我们公司的软件做人员信息同步,A公司用的是SQL server数据库,我们公司用的Oracle,接口都不会开发(一万句"fuck ...

随机推荐

  1. lambda map() filter() zip()练习

    练习: 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb l=[{'name':'alex'},{'name':'y'}] l=[{'name':'alex'},{'name': ...

  2. windows 下mysql5.7设置密码

    学习Springboot时用到mysql数据库,以前用的mysql5.6版本 基本百度一个教程即可,听说5.7有新改动,突然想试试于是找到解压版mysql5.7照常安装, 以前用的mysql5.6版本 ...

  3. iOS - 断言处理与调试

    一.Objective - C 中的断言: Objective - C 中的断言处理使用的是 NSAssertionHandler : 每个线程拥有它自己的断言处理器,它是 NSAssertionHa ...

  4. 出现( linker command failed with exit code 1)错误总结(http://blog.csdn.net/hengshujiyi/article/details/21182813)

    这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...

  5. Ubuntu16.04 php7.1安装redis扩展

    sudo apt install php7.1-redis //修改php配置 vi /etc/php.ini 添加extension=redis.so

  6. C++函数声明与定义

    一个C++函数,如果没有函数声明而只有函数定义,程序照样运行,但要求这个函数定义必须放在main函数之前,否则编译按照从上到下的顺序扫描下来,就会出现编译器不认识它的情况. 如果一个程序同时有函数声明 ...

  7. Ubuntu 14.04 下的MAC OS X 主题安装

    Ubuntu 14.04 下的MAC OS X 主题安装 安装 MAC OS X 主题会帮助你的 Ubuntu 14.04 看起来更像MAC OS X.在这里我们介绍的Macbuntu安装包包含了GT ...

  8. tflite

    1.编译libtensorflow-lite.a库: ubuntu下交叉环境编译: https://blog.csdn.net/computerme/article/details/80345065 ...

  9. vim小白练习记录

    1.vim卡死  按ctrl+s键后 vim卡死,按任何键不管用,按ctrl+q恢复

  10. 失控的未来交通工具 (LOJ 508,带权并查集,数论)

    LOJ 508 失控的未来交通工具 (带权并查集 + 数论) $ solution: $ 很综合的一道难题.看了让人不知所措,数据范围又大,题目描述又不清晰.只能说明这道题有很多性质,或者很多优化. ...