工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > Delphi > 正文
图解Delphi 8 Eco 开发实战
[文章信息]
作者:本文作者请速与我联系
时间:2004-12-14
出处:天极网
责任编辑:方舟
[文章导读]
本文一步一步的讲述了在Delphi8中开发ECO完整流程
advertisement
热点推荐
· 真没想到VB也可以这样用之指针技术
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
[正文]

上一页  1 2 3  下一页

  首先我们将一个Class拖放到设计器中,将其命名为Customer,再点击右键选择 Add →Attribute为其添加一个属性,并设置该属性的名称为"Name"类型为String。在属性的类型设置中,你可以输入Delphi支持的类型。同过设置Alias属性还可以在模型中显示中文别名,方便我们进行建模。Class常用的属性如下:

属性名 默认值 描述
Abstract False 抽象类
Sealed False 能否被继承
Alias '' 别名,显示在模型编辑器中的名字
Persistence persistent 是否被存储
DefaultStringRepresentation '' 默认显示字符,可将其设置为关键的属性名


  根据我们在上面需求中所分析出的四个类在编辑器中创建,因为Person和Company都是继承自Customer,所以仅仅描述其不同于Customer的属性即可。完成后设计器内容如图所示:


  完成上述工作后,我们开始对模型间的关联关系进行设计,首先来完成Customer的继承关系。选择Tool Palette中的Generalization/Implementation组件,点击Person模型后拖曳到Customer模型去,这样就建立好了两者间的继承关系,同样建立Company与Customer的继承关系。


  然后开始建立Customer和CarSell之间的主子对应关系,选择Tool Palette中的Association组件,点击CarSell模型后拖曳到Customer模型去,即生成了一个Association。点击选中Association后设置它的属性,修改其name为PayAssociation,End1的 Multiplicity为0..*;End2的Multiplicity为1。Multiplicity属性用于控制模型间的连接关系,其可选属性的含义为:

可选择值 描述
0..1 有零个或一个连接
1..1 有一个且只有一个连接
0..* 有零个或多个连接
1..* 有一个或多个连接

  同理为CarSell和Car建立关联关系,建立完成后的模型图如下:


  到此为止我们的建模工作已经完成,在此之后我们还需要把对象保存发布到数据库中,这就用到了Eco所提供到的PersistenceMapper组件。在Delphi 8 中Eco一共提供了13个组件,它们分别是:


编号 组件名 命名空间 功能
1 CurrencyManagerHandle Borland.Eco.Handles 用来操作当前游标所在的对象实体
2 ExpressionHandle Borland.Eco.Handles 可以将其简单理解为一个数据源组件(TDataset),数据源通过SQL语句向数据库查询记录,而ExpressionHandle更为灵活可控的OCL语句查询对象实例
3 OclPSHandle Borland.Eco.Handles 根据OCL表达式得到元素值,其主要方法为Execute
4 OclVariables Borland.Eco.Handles
定义在OCL中所使用的变量
5 ReferenceHandle Borland.Eco.Handles 建立一个数据库连接,在使用中相当于dbConnection
6 VariableHandle Borland.Eco.Handles 通常和OclVariables一起使用
7 PersistenceMapperBdp Borland.Eco.Persistence 将对象模型通过BdpConnection.进行发布
8 PersistenceMapperXML Borland.Eco.Persistence 将对象模型通过Xml格式.进行发布.
9 PersistenceMapperSqlServer Borland.Eco.Persistence 将对象模型通过SqlServer.进行发布
10 EcoAutoFormExtender Borland.Eco.WinForm 自动生成类信息窗体
11 EcoActionExtender Borland.Eco.WinForm 和Button的EcoAction属性绑定,由按钮事件实现对象方法
12 EcoDragDropExtender Borland.Eco.WinForm 提供Eco对象间在GUI中的拖曳支持
13 EcoListActionExtender Borland.Eco.WinForm 和Button的EcoListAction属性绑定,用以控制CurrencyManagerHandle事件

  其中Extender类组件将标准的.Net组件(DataGrid,TextBox等)和ECO进行了关联,这些Extender组件在由ECO Application Wizard创建完成后就自动生成了这些组件,我们不需要手工创建。我们下面用到的PersistenceMapper,是将对象模型发布到数据库或XML中,同时也将对象实例存储到数据库中。如果我们在项目中需要转换数据库平台,不需要作过多的改变,仅仅将PersistenceMapper类型更改以下就可以,实现了真正的数据库平台无关性。在本演示中我们用PersistenceMapperXML来进行数据的存储,在程序完成需要发布时根据需要再改为其它类型的数据库即可。

  在工程视图中双击打开EcoCRMEcoSpace.pas,并切换到设计视图,从Tool Palette中双击PersistenceMapperXML,添加一个PersistenceMapperXML到设计器中,设置其FileName属性为"EcoCrmData.xml",并将TEcoCRMEcoSpace的PersistenceMapper属性设置为PersistenceMapperXML。


点击放大(上图)


上一页  1 2 3  下一页

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • Delphi中实现DBGrid列宽度自动调整
  • 奇迹重现 Delphi 2005赏析
  • Delphi 2005抢先预览
  • 利用Delphi编写Socket通信程序
  • 用Delphi设计“抢三十”游戏
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement