Delphi编写ActiveX控件及程序中嵌入word方案

本文介绍了使用Delphi编写ActiveX控件及其在程序中嵌入Word的方案。讲解了COM组件的基础知识,包括ActiveX控件的属性、类型和用途。同时,详细阐述了在Delphi中创建COM组件的步骤,以及如何在客户端调用这些组件。文章还探讨了COM+组件的编写和调试方法,以及在实际开发中遇到的挑战和解决方案,如事务处理、数组和记录集的传递等。
摘要由CSDN通过智能技术生成

ActiveX控件编写

1.ActiveX控件由来

在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括

Windows和Mac)中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡Sun

Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。

OCX代表"对象链接与嵌入控件"(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的

混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。

组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件

(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性

语言如VBScript。

控件即组件,只不过一般包含界面元素,ActiveX是在internet发展起来以后,为了吸引人的眼球,对OLE的一个更名而已,只是名字上

的差别.一般把包含界面元素的组件称作控件.(因为包含界面,所有就比没有界面的组件在底层实现上多一些变化)。简单的说就

是AvtiveX控件是实现了特殊接口的COM组件

2.ActiveX组件包括如下几类:

1.自动化服务器:可以由其他应用程序编程驱动的组件。自动化服务器至少包括一个,也许是多个供其他应

用程序生成和连接的基于IDispatch的接口。自动化服务器 可以含有也可以没有用户界面(UI),这取决于

服务器的特性和功能。

2.自动化控制器:那些使用和操纵自动化服务器的应用程序。

3.控件:ActiveX控件等价于以前的OLE控件或OCX。一个典型的控件包括设计时和运行时的用户界面,唯

一的IDispatch接口定义控件的方法和属性,唯一的 IConnectionPoint接口用于控件可引发的事件。

4.文档:ActiveX文档,即以前所说的DocObject,表示一种不仅仅是简单控件或自动化服务器的对象。

ActiveX文档在结构上是对OLE链接和模型的扩展,并对其所在的容器具有更多控制权。一个最显著的变化

是菜单的显示方式。一个典型的OLE文档的 菜单会与容器菜单合并成一个新的集合,而ActiveX文档将替换

整个菜单系统,只表现出文档的特性而不是文档与容器共同的特性。

5.容器:ActiveX容器是一个可以作为自动化服务器、控件和文档宿主的应用程序

3.什么是COM组件:

COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。

COM组件是遵循COM规范编写的

COM组件是一些小的二进制可执行文件

COM组件可以给应用程序、操作系统以及其他组件提供服务

自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序

COM组件可以动态的插入或卸出应用

COM组件必须是动态链接的

COM组件必须隐藏(封装)其内部实现细节

COM组件必须将其实现的语言隐藏

COM组件必须以二进制的形式发布

COM组件必须可以在不妨碍已有用户的情况下被升级

COM组件可以透明的在网络上被重新分配位置

COM组件按照一种标准的方式来宣布它们的存在

想了解更多COM技术请产考:http://blog.donews.com/piaoger/archive/2004/09/21/105204.aspx

4.ActiveX控件有四种属性:

Stock:为每个控件提供的标准属性,如字体或颜色。

Ambient:围绕控件的环境属性——已被置入容器的属性。这些属性不能被修改,但控件可以使用它们调

整自己的属性。

Extended:这些是由容器处理的属性,一般包括大小和在屏幕上的位置。

Custom:由控件开发者添加的属性。

ActiveX控件的后缀名一般是OCX或DLL等,编译完完成后,Activex控件将被自动注册到系统中

ActiveX控件编写主要设计属性、方法、事件三种特性。

VC中对属性和方法的访问是通过函数完成的,事件则通过消息完成

5.容器和服务器程序

容器应用程序是可以嵌入或链接对象的应用程序。Word就是容器应用程序。

服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel就是服务器应用程序。

Word既是一个容器应用程序,又是一个服务器应用程序。

Active控件可以看成一个极小的服务器应用程序,他不能独立运行,他必须嵌入到容器当中和容器一起运行

 

ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分。ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32位应用编程接口(Win32 API)和组件对象模型的一系列扩充和增强,目标是把计算机桌面环境与因特网环境集成起来,同时保护在Windows技术中现有的开发投资。微软的 ActiveX技术根本上就是修改过的OCX技术,使它能够跨越Internet,主要是使用WWW来传递控件。

  ActiveX控件可以被集成到很多支持ActiveX的应用当中去,或者直接用来扩展应用的功能,这些支持ActiveX的应用包括C++ Builder、Delphi、Visual dBASE、 Visual Basic、Visual C++、Internet Explorer、Netscape Navigator等。ActiveX控件还可以使用在因特网上,在网页上使用它来发布信息、处理与用户的交互,但是需要使用支持ActiveX的浏览器才能阅读这些网页。目前已经开发出来的ActiveX控件越来越多,由于ActiveX控件具有很好的特性,我们可以在编程的时候选择使用合适的控件来加快自己的应用开发。可以不夸张地说,ActiveX控件是Windows平台编程必不可少的法宝。Delphi作为Windows平台上最优秀的程序开发工具之一,为ActiveX控件的开发提供了强有力的支持,让您轻松地开发ActiveX控件。Delphi的开发者仅仅需要了解一些ActiveX控件的简单知识,就可以使用Delphi提

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值