捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
VTRemoteData_V101_D7(三层数据库框架)
关键字:VT RemoteData D7 三层 数据库 框架
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:高级 完成时间:2009/11/4
发布者:syncgrey 发布时间:2009/11/5
编辑器:DELPHI7 语  种:简体中文
分 类:数据库 下载浏览:1418/15003
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
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 对服务的引用改为接口模式。
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论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.
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表