引言: 一、创建组件
从应用程序员的角度,即从某些使用组件去创建应用程序的人的角度看,组件是你能从组件板上选取,作为正在开发的应用程序的一部分,并编写事件处理代码使之成为专用。
摘要: 关系数据库都提供大文档的存储和提取。对于视频资料、音频资料、图象资料等大文档,一般需要 另外开辟字段用于存储摘要信息,因此在查询和检索时并不访问大字段,而只是在存储和提取时才操作 大字段。例如,你不能对oracle中的long raw类型进行like介词的查询,更不能使用等号“ =”查询。 这对于存储大段文本(容量超过2k)同时又需要全文检索是相当不便的。本文将介绍如何利用数据库的 字符串数据类......
摘要:delphi具有强大的数据库应用程序开发功能,其client/sever版本可以开发一般的单机数据库应用系统、普通client/sever应用系统直至基于web的多层应用,其中自然离不开borland数据库引擎(bde)的功劳。不过在没有安装过delphi程序的计算机上运行数据库程序时,必须同时分发庞大的bde文件,borland建议用户用delphi附带的installshield制作安装程序来......
DELPHI环境中组件的创建技巧一.创建组件
【程序编程相关:
序列化FastReport
】 【推荐阅读:
用FASTREPORT实现WEB应用中自】
从应用程序员的角度,即从某些使用组件去创建应用程序的人的角度看,组件是你能从组件板上选取,作为正在开发的应用程序的一部分,并编写事件处理代码使之成为专用.对一个组件开发者,delphi组件是一个直接地或间接地从tcomponent派生的对象pascal类. 【扩展信息:
让Fastreport3.x支持中文PD】
用delphi成功地开发与综合专用组件的关键是,它能够服从界面的各种需要与习惯以及delphi环境所期望组件的行为.
专用组件是一个对象pascal类,这个对象类是tcomponent的后代,这使它本身就服从基本需要的大部分.例如,它给新组件出现在组件板上的能力,并且有能力与窗体设计者(form designeer)与对象检查器(object inspector)相互作用.可是,除了这些基本功能外,组件还可以定义任意复杂的行为与可以显示任意丰富的属性集给组件用户或应用程序员.这些对组件的标准及基本行为的扩充是组件编写者的责任.
要记住,有关专用组件最重要的事情是你可以用不同的方法来制作组件.几乎每一个做好的组件在设计与运用时通过它的属性与事件允许某中程度的专门化.但是,不可避免,你将触及到有关每个组件的限制或缺点.实际上,你需要一种特殊的组件编写者并没有预见的行为,给组件扩展新能力.或者,你需要使组件做某些根本不同的,在开始设计时并没有决定要做的事情.
二.扩展已有专用组件
在delphi中创建新组件的最容易的方法是通过对已存在组件类派生.你能使用任何delphi具有的标准组件作为派生你自己组件的基础.
例如,你可能要修改标准组件的某个特定属性的缺省值,使得这个缺省值在你将此组件放置到窗体上时自动地起作用.如果你发现你经常在运行时使用相同的方法调用序列去启动组件,或者,你发现只要你放置这个组件在窗体上后你就打算修改属性值,这可能是创建新组件的好机会,这个组件将通过缺省做所有事情,并且因此不需要将其放置在窗体上后做专门的初始化.
另外一个使你要定制一个已存在的可视控制的理由是,在某些标准窗口控制情形,例如编辑框与组合框,你可能想使用它们的一些非常规特征.为此,你必须在创建时设置专门的可选标志,以告知windows你需要建立一个专用控制,重载windows用于决定控制可视外观的创建属性.
三.创建从非专有类中派生一个新组件
创建一个“全新”可视组件仍然要从已存在vcl类中派生.扩展一个已有专用组件与创建一个全新组件之间的主要差别是,在后一种情况,你必须从一个非专用基类中派生,例如twincontrol或tgraphiccontrl,而不是从一个专用控制类派生,例如tlable,tmemo或tcheckbox.
从非专用基类派生,确定将很多责任交到了组件创建者的手中.你必须关心组件与程序用户相互之间的细节与设计时界面的细节....
下一页 摘要:
m 作 者: cn_prince(欢喜王子) 2001-06-11 20:58:55 :0 :0
[回复] [打包] [转贴]
我尚无缘得见新版本的delphi。据可靠消息称,它提供对soap--web services的基础--的全面支持,而扔弃了borland midas。
为什么这只软件大鲨会对web services如此钟情?他们的动机很容易明白。web services意味......