摘要: Delphi XE5 出来了,支持Android的开发,试用了一下,有几个问题:1、只支持ARM7的设备,不支持Inter设备。手上刚好有一个华硕K004,很遗憾用不上,只能用手机试了。2、要支持联机调试必须安装USB驱动,但一般设备都不带,后来安装360手机助手后自动安装了USB驱动,可用了。3、支持的控件、属性、方法、函数库都大变了,需要重新学习。4、联机调试的速度慢得惨不忍睹,使用仿真机还能忍受一下,使用实际设备慢得无法调试,是不是跟我用的USB驱动有关?5、编译后的apk至少5M以上,按照官方说法是:毕竟要跨平台,体积大很正常。看来Delphi XE5 支持Android的开发还有一段 阅读全文
posted @ 2013-11-25 19:36 leon_kin 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Delphi自从增强了RTTI后,语言的可灵活性多大增强,Delphi的dbExpress中提供了DBXJSON,和DBXJSONReflect两个单元,可提供JSON序列化下面的例子是实现Delphi实体对象转换为JSON字符串,以及JSON字符串转换为Delphi 实体对象的示例:(在Delphi XE3测试通过)unit Unit2;interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vc. 阅读全文
posted @ 2013-09-03 09:12 leon_kin 阅读(891) 评论(0) 推荐(0) 编辑
摘要: 原来的Client的ApplyUpdatesError事件己经没有了换成 Client的RemoteDataAdapter的 BeforeProcessFailures 事件Server:ProcessorAfterProcessChange事件或ProcessorBeforeProcessChangeCanRemoveFromDelta := FALSE; case aChange.ChangeType of ctInsert : begin customerid := aChange.NewValueByName['CustomerID']; aChange... 阅读全文
posted @ 2013-07-23 16:00 leon_kin 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 有两种方法:一、首先要设置服务端的服务AllowWhereSQL为True;客户端with ClientDataModule.dtCustomers do begin Close; // Prepares the custom WHERE clause Where.Clear; Where.AddConditions(['CustomerIdx','FirstName','LastName','City'], [cEqual,cLike,cLike,cLike], [eCo... 阅读全文
posted @ 2013-07-23 15:58 leon_kin 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 1 、 客户端直接运行SQL命令 , 使用TDARemoteCommand2 、 服务器端直接运行SQL命令 , 使用TDALocalCommandfunction DeleteRowFromTable1(aID: integer): integer;var lCommand: TDALocalCommand; linp, lout: DataParameterArray; i: integer;begin try lCommand := TDALocalCommand.Create(nil); lCommand.ServiceName := 'MyService'; ... 阅读全文
posted @ 2013-07-23 15:51 leon_kin 阅读(282) 评论(0) 推荐(0) 编辑
摘要: function TTJService.RQ_singleOP(const Rq_singlestru: STRU_RQ_L1): Integer; var acon: IDAConnection; SqlCMD: IDASQLCommand; SqlDST: IDADataset; sqltext: string; it:Integer; begin acon :=DAConnectionManager.NewConnection('EmployeeIBO', TRUE);; result :=0; try SqlCMD :=acon.NewCommand('RQOP 阅读全文
posted @ 2013-07-23 15:46 leon_kin 阅读(218) 评论(0) 推荐(0) 编辑
摘要: procedure DoLogout(const Session:TROSession; Connection:IDAConnection; ServerLog:TDAServerLog);var Cmd : IDASQLCommand; CommandLog:TDASQLCommandLog; ErrorLog:TDASQLErrorLog;begin if (LogoutCommand'') then Cmd := ServiceSchema.NewCommand(Connection, 'Logout', ['SessionID'], [G 阅读全文
posted @ 2013-07-23 15:45 leon_kin 阅读(264) 评论(0) 推荐(0) 编辑
摘要: procedure TForm1.btn3Click(Sender: TObject); var lDataSet:IDADataSet; lConnection:IDAConnection ; stream: Binary; mytbl:TDAMemDataTable ; begin mytbl :=tbl1; lConnection := DAConnectionManager.NewConnection(DAConnectionManager.Connections[0].Name); lDataSet := lConnection.NewDataset('select * fr 阅读全文
posted @ 2013-07-23 15:39 leon_kin 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 关于DA的事件的应用于理解 例子 FIleextendedtransfer 客户端 向服务器端提交 服务端时候,服务端可以同时让事件进行触发的操作。 事件触发以后,会向自己或者其他的客户端执行特殊的 客户端的部分的指令,如 download.... 服务器端是被动触发,触发后执行客户端指令。 比较有意思。 我们还可以对照聊天的例子。 httpchat的例子 { 服务端的代码} procedure TChatServerService.Talk(const Message: String); var ev: IChatEvents_Writer; begin ev := (EventReposi 阅读全文
posted @ 2013-07-23 15:37 leon_kin 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 其实很简单,要充分利用memorystream. 一存储text字段为例 1.如何进行存储? var ms:TmemoryStream; ms:=TMemoryStream .Create ; {将richedit的内容读取到内存流,并能存储}Frmtongzhi.Editor.Lines.SaveToStream(ms); ms.Seek(0,soFromBeginning ); with tbl_tongzhi do begin Edit; FieldByName('djtime').AsDateTime :=Frmtongzhi.bdate.date ; ... 阅读全文
posted @ 2013-07-23 15:35 leon_kin 阅读(270) 评论(0) 推荐(0) 编辑