摘要: 原文连接http://www.delphifeeds.com/go/s/74909google翻译并整理当开发人员开始创建Delphi的DataSnap应用时很常见的数据库连接定义方式是每个数据模块建立一个连接。这样做将产生大量的数据库连接,并产生很多问题。DelphiXe,提供了Session管理,更容易实现控制客户端连到服务器的数据库连接。客户端应用程序bu不会知道这些,服务器将完成所有的事情。当我们创建一个DataSnap服务器时,最好的做法就是定义一个服务器容器(数据模块),其中包含DataSnap服务器组件和注册所有的服务器应用程序所需的类。在这个容器中,我们将定义一个负责处理服务器 阅读全文
posted @ 2011-08-26 23:59 Max Woods 阅读(1213) 评论(1) 推荐(0) 编辑
摘要: 1. 准备工作 首先下载 RemObjects SDK,我用的是 4.0.19 版,可以安装在 Delphi2007 中。用其他版本 delphi 的也可以下载 4.0.19,用起来效果一样的。需要注意的是,RemObjects 是共享的框架,如果不注册,那么编译后的程序不能脱离 delphi 的 IDE 单独运行。注册的方法是去 RemObjects 官方网站(http://www.remobjects.com/shop/)下购买定单,付费后会收到 License 文件(别问我要 License,我不会给的)。2. 创建 VCL Standalone 点击 File->New-> 阅读全文
posted @ 2011-08-26 19:33 Max Woods 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 使用Remobjects的单通道做服务端项目时,每当同一客户端同时发起超过一个以上的请求数据时,就会出现Channel is Busy 错误,为此我询问过Remobjects官方,他们回答是,单通道是非多线程安全的,类似这样的回答,建议我的用超级通道。可是简单地更换单通道为超级通道反而导致问题更多,由是我就想改造一下单通道。在盒子上我曾经发布关于这个问题解决方法,但是还不合理,现在贴出来最终的解决方法,这个方法在我的程序使用后,再也没有出现以上问题uROClient.pas内,请对照修改.procedure TROTransportChannel.Dispatch(aRequest, aRes 阅读全文
posted @ 2011-08-26 01:12 Max Woods 阅读(723) 评论(2) 推荐(0) 编辑