|
盒子资源分类 |
![]() |
|
|
|
VTRemoteData_V101_D7(三层数据库框架) |
![]() |
关键字:VT RemoteData D7 三层 数据库 框架 |
来 自:原创 |
平 台:Win2k/XP/NT,Win2003 |
下载所需:0 火柴 |
深浅度:高级 |
完成时间:2009/11/4 |
发布者:syncgrey |
发布时间:2009/11/5 |
编辑器:DELPHI7 |
语 种:简体中文 |
分 类:数据库 |
下载浏览:1410/14646 |
|
|
|
|
RemoteData V1.01 免费版(带绝大部分源代码,暂保留 uVTStreamUtils.pas 和 uRDDataResolver.pas 的源代码),可免费使用,版权保留。 编译环境为 D7,暂无帮助文档。 作者:荆棘;2CCC 帐号名是 syncgrey;欢迎加群 7689125。
使用方法 1.解压后,把 kbmMemTable,VT,RC,RD 四个路径添加到 Delphi IDE 路径中。 2.打开 VTRemoteData_V100_D7.dpk 包,编译,安装。 3.打开 MegaDemo\RDMegaDemo.bpg,分别生成运行 RDMegaDemoServer.exe 和 RDMegaDemoClient.exe。 4.运行 DEMO 需要开启 SQL Server。
VT 库 uVTAnsiStrUtils.pas:AnsiString 的辅助处理单元,其中部分代码从 QStrings 提取并作了改名处理。 uVTObjAuto.pas:从 D2009 中提取的 RTTI 库。 uVTObjectPools.pas:原创的对象池类。 uVTStreamPacket.pas:原创的二进制打包类,依赖 uVTStreamUtils.pas。 uVTStreamUtils.dcu(暂不公布源代码):原创的数据二进制流化库,可自动流化不包含对象或本地指针(AnsiString、WideString、Variant 除外)的静态数组、动态数组和结构体,,比如下面示例的类型都可正确流化: PRDParamInfo = ^TRDParamInfo; TRDParamInfo = packed record Name : AnsiString; DataType : TFieldType; ParamType : TParamType; Size : Integer; Precision : Integer; NumericScale: Integer; Value : Variant; end;
PRDParamInfoArray = ^TRDParamInfoArray; TRDParamInfoArray = array of TRDParamInfo;
TRDParamInfosArray = array of TRDParamInfoArray; PRDDataRequestInfo = ^TRDDataRequestInfo; TRDDataRequestInfo = packed record ConnectionName : AnsiString; CommandText : AnsiString; CommandType : TRDCommandType; IncludeSchema : Boolean; MaxRecords : Integer; Params : TRDParamInfoArray; PagingInfo : TRDDataPagingInfo; ConditionInfoArray: TRDConditionInfoArray; end;
TRDDataRequestInfoArray = array of TRDDataRequestInfo; uVTStrings.pas:原创的字符串列表类,可通过编译指令,在 AnsiString 与 WideString 版本之间切换。 uVTStrUtils.pas:原创的字符串函数库,可通过编译指令,在 AnsiString 与 WideString 版本之间切换。 uVTThreadLists.pas:线程安全的列表类。 uVTThreadTimer.pas:一个从 RO 中提取的线程定时器类。 uVTTypes.pas:类型声明单元。 uVTTypInfo.pas:从 System.pas 单元提取出来的 RTTI 函数,这些函数默认情况下 Delphi 无法访问,主要用于结构体和数组的流化和反流化。 uVTVariantUtils.pas:Variant 函数库。 uVTWideStrUtils.pas:从 Tnt 中提取的 WideString 处理函数。
RC 库(小巧高效的 RPC 框架) 1、采用二进制编码、解码,体积小,速度快。 2、带有服务池功能,避免对远程服务类的重复创建释放。 3、能将服务端的异常服务带到客户端。 4、可根据需要方便的扩充通讯协议通道。
RD 库(三层数据库框架,整体框架类似 DA,个人感觉比 DA 小巧易用) 1、客户端的数据库无关性:数据中间件可通过增加数据库驱动以支持新的数据库,切换数据库驱动以改变所使用的数据库类型。 2、支持数据库连接池功能,并带有连接超时机制。 3、中间件可把业务逻辑封装成 Scheam 中,向客户端提供 LogicalName,客户端通过 LogicalName 向中间件请求服务,避免了客户端对 SQL 语句的直接使用。 4、客户端支持直接执行 SQL 语句来取数据或更新数据。 5、客户端支持批量更新方式。 6、客户端在 ctLogicalName 模式下,支持分页显示或分批取数据。 7、用户可方便的扩充编写自己的内存表类、数据打包类。 8、中间件可自定义插入、更新、删除语句。 9、客户端支持简单的 ORM。
版本更新历史 1.00(2009.10.15):第一个公开版本 1.01(2009.11.3): 1、公开 uRDDataProvider.pas 的源代码。 2、uRDBinDataStreamer.pas 添加 ftBytes, ftVarBytes 字段的流化代码,直接作为字符串处理。 3、RC 库更新:把原来的 TVTRCService 更名为 TVTRCServiceModule,增加一个非可视化服务类 TVTRCService;把 ClassFactory 对服务的引用改为接口模式。 |
![]() |
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们! |
相关文章 |
|
![]() |
|
相关评论 |
![]() |
共有评论7条
当前显示最后6条评论
|
syncgrey |
2009/11/4 11:02:10 |
to 2010632: 你好, 其中的 RC 库就是远程方法调用的, Callback 暂时未实现. |
aq031 |
2009/11/4 11:23:58 |
先看看 |
2010632 |
2009/11/4 11:37:37 |
諸子百家,還需漢武來獨尊儒術啊.不然很泛濫哦,新人不知道洞房中何方呢 |
peliao |
2009/11/4 12:21:16 |
我最喜欢收集各位达人的代码, 提取其中好的算法和可以共用的class 谢谢 |
carcode |
2009/11/15 0:50:43 |
还是公开所有源码吧,个人认为你的这个框架很不错,instantobjects这个有名的ORM都已经开源了!大家一起来完善他吧 |
lobtao |
2012/10/15 23:08:05 |
其实好心人发布的这个,很大程度上是在模仿Remobjects SDK. |
我要发表评论 |
查看全部评论 |
|
|
|