现在所谓ActiveX控件的那些内容,是实现许多方法所必须的 。已经把它们从机器的本地硬盘移到了VB等容器中 。几百KB和几MB的控件,似乎没有什么大区别 。但要将控件装载到Web浏览器时,很可能要通过速度很慢的电话线 。现在,控件的大小已经是非常关键的问题 。一旦要执行超过了某个限度以上的控件,就会延长下载时间 。因此,Microsoft规定:在ActiveX控件中,只能执行绝对必要的功能 。
Apple和IBM推行的OpenDoc,曾是ActiveX控件的主要竞争对手 。现在OpenDoc的赞助企业,已正式宣告中止资助 。大部分与Microsoft对抗的企业,转而支持JavaBeans(基于Java的组件结构) 。ActiveX控件,基本上都是和Windows捆绑在一起、以二进制机器代码发放的,而JavaBeans却不同,它在哪儿都能执行 。这当然是有代价的 。显而易见,只要不牺牲可移植性,就不可能完全、彻底地利用本地环境 。要编写从公共Internet上能下载的组件时,应优先选择JavaBeans 。
桌面组件市场在持续、急速增长 。其中绝大部分是以ActiveX控件构筑的(目前JavaBeans仍然是少数) 。但服务器组件的标准化要落后一些 。在桌面上,Web浏览器、VB以及PowerBuilder这些编程环境,作为容器是强有力的 。但服务器容器又该当如何呢?作为服务器上的组件容器,事务处理服务器是一个较好的选择 。
Microsoft的竞争对手,千方百计要阻止MTS和NT称霸市场 。他们正在快马加鞭地制订服务器上的组件标准,其中最有前途的是EnterpriseJavaBeans 。它是JavaBeans的扩充,并定义了事务处理服务器接口 。EnterpriseJavaBeans的支持者们,希望独立软件厂商不是将服务器组件作为COM组件来编写,而是要作为Beans来编写 。
四、ActiveX的构筑工具
随着ActiveX控件的推广,ActiveX控件的开发工具逐日增加 。由于ActiveX不依赖于语言,所以传统的开发工具基本上都能构筑、配备ActiveX控件 。最常用的有Delphi、PowerBuilder以及VisualBasic、VisualC++、VisualJ++等 。
1.基本概况
用3GL开发ActiveX控件的方法有:①MFC(MicrosoftFoundationClass,Microsoft基础类),②ATL(ActiveXTemplateLibrary,ActiveX模板库),③BaseCtrlFramework等 。MFC最经典,采用MFC,可以使开发者不去关心接口,而是集中精力关注对象的动作 。缺点是控件的规模较大且执行时DLL必须与容器同时存在 。ATL可利用模板生成代码 。就是说,库和DLL无需与控件一起推出 。在ATL中,需要从作为模板存在的几个基本类派生类 。ATL也有缺点,即接口的处理较难,应用中必要的接口,必须分别制作 。另外,ATL不支持类向导(ClassWizard) 。遗憾的是,没有使对象描述语言(ObjectDescriptionLanguage)和接口定义语言文件、与用户代码自动同步的向导 。BaseCtrl是个简便型库 。与ATL非常相似,但无模板 。实际上,由于BaseCtrl过于简便,Microsoft并不支持它 。在BaseCtrl中,带有几个万能控件(SkeletonControl) 。BaseCtrl提供容易理解的ActiveX开发模型,但与ATL相比并不简单,且灵活性也不及ATL 。目前看来,对于ActiveX控件开发者来说,BaseCtrl是个"苦涩"的选择 。
2.开发工具
可制作ActiveX控件的、最初的工具是Microsoft的VisualC++ 。它可为ActiveX开发者提供最多的控件 。VisualJ++也可以制作ActiveX控件 。
Borland推出的两个工具(JBuilder和IntraBuilder)也非常令人瞩目 。但是,用Borland的工具能制作ActiveX组件的,只有Delphi3.0和C++Builder 。Borland把Delphi的ActiveX开发功能,叫作ActiveInside 。它是将任意的DelphiWindow做成ActiveX的形式 。ActiveInside备有配备在Web上的新控件 。Delphi可以将控件链接到COM和DCOM 。
PowerBuilder5.0是改造成能用于ActiveX开发的、客户机/服务器开发工具 。PowerBuilder可以将DataWindow(PowerBuilder应用开发的核心部分)作为ActiveX控件来配备 。以使现在的PowerBuilder开发者,能使用PowerScript编程语言等某些熟悉的功能 。具有制作ActivX控件最好工具的,当属Microsoft 。例如,若用VisualBasic5.0,开发者就可使用可视化编程环境和本机的VisualBasicforApplication语言,来开发控件 。
猜你喜欢
- 天然肠衣是什么做的
- 大豆的古名是什么
- 柠檬不开花是什么原因及解决方法
- 圆明园的旅游攻略是什么
- 增值税起征来自点新规定是什么
- 四合礼是什么
- 汽车么苏没妒冷冻液的作用,如果冷冻的口术井致液没有了会是什么后果
- 吃空饷是什么意思?
- 牛奶加热后的奶皮是什么成分
- precious是什么 precious的用法总结大全
