摘要:学习 dxSpreadSheetReportDesigner过程中发现: dxSpreadSheet通过dxSpreadSheetReportDesigner点击右键出现弹出菜单,自动生成如图的菜单和actions,不用写一句代码。对于懒人来说酷毙了。 但是Master-Detail和GroupHe
阅读全文
摘要:看随机的报表DEMO,主从表也好,数据分组也好。呈现的非常到位。 问题:可是自己在实现数据分组时,一旦设定分组字段就出现了混乱的数据记录。 问题的原因: 看一下一个报表页面设计时需要理清的概念。 页头 Header(headerSection)表体 detail页脚Footer(FooterSect
阅读全文
摘要:System.Json中的JSON应该说还是好用的,因为相关superObject的json使用,转换过来概念思路上有点混淆搞不清。 正题:老是泄漏。一会儿是TJSONArray,一会儿是TJSONObect。 解决方法:对最外层的Tjson也就是拥有者进行free即可。这样里面的create的会自
阅读全文
摘要:看其demo:CustomFunctionDemo。 在报表系统中,特别是财务等报表系统中。需要对固定格式的报表中cell定义取数公式。 如新中大中: 公式 返回值 gs_dwmc(预算单位代码/名称简写,账套,年度) 预算单位名称 gs_mjkm(末级科目代码/名称简写,账套,年度) 末级科目名称
阅读全文
摘要:在通过http实现restful数据通讯时,死活出现: socket error # 10054 导致这种情况的原因很复杂。 同样的程序,在不同的环境中出现不同结果。 通过观察,发现登录后获取token后,然后再post数据时就出现这样的错误提示。 那么在post后增加disconnect即可 tm
阅读全文
摘要:在unigui运行中发现这样的错误clientHeight:property clientheight does not exist。 这是啥原因。从老版本中复制过来的代码含dfm会出现这样的错误。 我的Delphi程序构建和编译很好,但是一旦它在调试模式下运行,我得到以下错误; Property
阅读全文
摘要:用fdconnection自动生成连接文本,将其写入ini文件,用于程序的读写。ini文件见后面。 Lfini.ReadSection('LocalConnection',lstrings); ShowMessage(lstrings.Text); Lfini.ReadSections(lstrin
阅读全文
摘要:类别 说明 TFDJSONDeltas 包含异动的delta的类别。客户端存放deltade对象 TFDJSONDeltasWriter 把deltas写入TFDJSONDeltas TFDJSONDeltasApplyUpdates update数据到DB TFDJSONDeltasWriter.
阅读全文
摘要:FireDAC是吧DataSnap服务器当成API来调用,而dbExpress使用IAppServer接口。 关键点: 1、客户端调用API要回传数据,那么FireDAC把数据已Stream的格式传递数据。 2、如果CRUD,那么搭配FireDAC的重要快储功能实现对数据的异动 FireDAC的中央
阅读全文
摘要:1、对于使用TCP/IP链接的客户端应用程序,是具有状态的。一直等到客户端完成服务请求后释放配置的资源。如何掉线了,那么服务器就是傻傻地等着,可能导致资源耗尽。 如何在服务端选择一个链接切断关闭之: 2、KeepAlive功能 实现DataSnap服务器和DataSnap客户端互相查询的功能。 如果
阅读全文
摘要:1、服务端的Session是有TDSSession定义的。TDSSession提供了许多有用的方法和特性,再开发室取得服务or重要信息。 如Session状态、安排Session独享定时or自动执行工作,or在Session对象中暂时存储数据等。 方法 说明 function HasData(Key
阅读全文
摘要:在服务端获取连接的客户端相关info: TDBXClientInfo = recoed IpAddress : String; ClientPort : String; Protocol : String; AppName : String;//web客户端才有此参数 end TDBXClientI
阅读全文
摘要:学习熟悉新版dev的换肤和多文档的功能,就是死活实现不了预先的功能。 1、换肤,包括mdiChildren。 2、MDI多窗口的标签页死活出不来。 由于是学习练习,生成了跨平台的project。导致win下面的各种不适应和异常反应。 蠢到家的me Application.Initialize; //
阅读全文
摘要:用clientdataset可以在设计时获取表结构。带来了不少方便。那么在FireDAC下如何处理? TSQLConnect继续provider的方法是没有问题的。而FireDAC不支持Provider->clientdataset方法。其实也很简单。 1、create方法 GetDataset(a
阅读全文
摘要:一、{逐条插入} procedure TForm1.Button1Click(Sender: TObject); const strInsert = 'INSERT INTO MyTable(Name, Age) VALUES(:name, :age)'; begin // FDQuery1.Fet
阅读全文
摘要:学习datasnap,json必须掌握。用自身的JSON,就必须熟悉JSON Objects Framework。其中tostring和value区别就是一个坑。 The JSON objects framework supports all JSON types:all descendants o
阅读全文
摘要:利用TypInfo单元的GetEnumName和GetEnumValue可以遍历任意枚举类型 其实上面程序运行会有err,为什么?因为没有理解和掌握JSON Objects Framework【感到简单问题复杂化了】。好多概念还是IsuperJSON的。
阅读全文
摘要:补课很多,xe一路走来,提供了许许多多的多层数据处理的方法。确实已经提供数个最优方案。 把下面的图跑通了,也就解决核心问题了。 【Berlin datasnap开发手册p261】 补充:
阅读全文
摘要:type TCity = class Country: String; Latitude: Double; Longitude: Double; end; const EPSILON = 0.0000001; var Dictionary: TDictionary<String, TCity>; C
阅读全文