红鱼儿

随笔分类 -  kbmMW

kbmMW 5.12试用笔记
摘要:1.为了使用CrossSocket的Transport,还要手工在kbmMWConfig.inc中增加: {$DEFINE KBMMW_NATIVETRANSPORT_SUPPORT} 2.SmartBind支持ClientQuery重新打开不用重新绑定的问题 对于这一问题,没有完全解决。看一下Au 阅读全文

posted @ 2020-06-01 13:41 红鱼儿 阅读(487) 评论(0) 推荐(0)

Scheduler的WaitRun存在卡死的问题
摘要:为了重显问题,写了下面的代码,重显问题。 有两种情况,第一种是在Run方法中,产生异常,这会造成主线程中执行的ev.WaitRun进入死循环。第二种是不在Run方法中产生异常,而是写了AfterRun子句,这也产生同样的问题。对此,写了测试项目并反馈给作者,期待下一版本能修正。 这个问题很严重的,因 阅读全文

posted @ 2020-05-26 17:02 红鱼儿 阅读(550) 评论(0) 推荐(0)

kbmMWSmartBind实现ListView绑定数据集进阶篇(三)
摘要:基于kbmMW SmartBind,在实际项目的应用过程中,遇到了显示效率太低的问题,用户在项目沟通会上反馈这一问题,让咱这开发者都感觉尴尬了。具体的实现过程,参考kbmMWSmartBind实现ListView绑定数据集进阶篇(二)。 为什么造成这样的问题呢? 经过反复测试代码,问题出在重复绑定上 阅读全文

posted @ 2020-05-15 10:13 红鱼儿 阅读(496) 评论(0) 推荐(0)

从http header中取得签名参数
摘要:function TkbmMWCustomSmartService3.ProcessRequest(const Func: string; const ClientIdent: TkbmMWClientIdentity; const Args: array of Variant): Variant; 阅读全文

posted @ 2020-04-27 15:09 红鱼儿 阅读(1597) 评论(0) 推荐(0)

Delphi开发Linux版的kbmMW Server
摘要:项目需要,必须在CentOS上运行应用服务器,不得矣,已经三天的时间,终于把windows版的kbmMW Server运行到CentOS上了。一路坎坷,Linux从0开始,多亏xalion等朋友们相助,能出了第一个结果。 很早就想尝试用Linux做服务器,但迟迟没得动手,想不到最终还是现实逼的迫不得 阅读全文

posted @ 2020-04-26 20:53 红鱼儿 阅读(1458) 评论(0) 推荐(0)

kbmMW客户端的异常处理
摘要:kbmMW客户端,为我们提供了完美的异常处理机制。要想处理好异常,必须理解客户端一个请求,是如何触发异常事件的。让我们先看一下,客户端调用服务端一个方法: function TMainForm.ConnectServer:Boolean; var r: Variant; c: TkbmMWPoole 阅读全文

posted @ 2020-04-22 16:28 红鱼儿 阅读(461) 评论(0) 推荐(1)

kbmMemTable.Undo方法存在的问题
摘要:这个方法调用不当,会产生AV错误。具体情况看下面的代码: procedure TForm1.Button1Click(Sender: TObject); begin kbmMemTable1.EnableVersioning:=True; kbmMemTable1.Append; kbmMemTab 阅读全文

posted @ 2020-04-20 11:11 红鱼儿 阅读(360) 评论(0) 推荐(0)

kbmMWSmartBind实现ListView绑定数据集进阶篇(二)
摘要:前文写过进阶篇一,实现了绑定后,如何重画Listview的Item。接下来,我们看看在实际项目中,如何应付各种坑? 第一个坑,关于绑定控制时间点,即在什么时候进行绑定。 在进阶篇一中,我们用的MemTable,是感觉不到这一点的。大家知道,在实际项目中,常常用TClientQuery做查询并得到数据 阅读全文

posted @ 2020-04-11 15:48 红鱼儿 阅读(360) 评论(0) 推荐(0)

使用kbmMWScheduler经验两则
摘要:1.使用Scheduler.Shutdown要小心! kbmMW 5.10.20的Scheduler增加了Shutdown方法,当你退出应用时,记得用这个方法来处理线程。实际上,这个方法就是等所有Scheduler发出的所有线程执完成,然后清理这些线程,再退出。可能你要问,为什么这样做呢? 原因是: 阅读全文

posted @ 2020-04-09 10:41 红鱼儿 阅读(460) 评论(0) 推荐(0)

解决uniDAC超时问题:已超过了锁请求超时时段。
摘要:FConn.ProviderName := FProviderName; if FConn.ProviderName='SQL Server' then begin FConn.SpecificOptions.Values['Provider'] := 'prDirect'; FConn.Speci 阅读全文

posted @ 2020-04-05 12:11 红鱼儿 阅读(987) 评论(0) 推荐(0)

解决kbmMW Scheduler在任务中停止任务遇到的问题
摘要:kbmMW提供了强大的Scheduler Framework,用来做调度任务的算法,在我看来,Scheduler发展了几个版本之后,截至到目前为止,更象是一个多线程框架,用来开发多线程算法。关于如何应用Scheduler,我翻译了作者写过的所有文章,可以去查看。今天要写的是实际项目中遇到的一个问题, 阅读全文

posted @ 2020-02-27 17:05 红鱼儿 阅读(666) 评论(0) 推荐(0)

SmartBinding实现DataSet与ListView的绑定及同步显示
摘要:kbmMW 5.10.20发布了,这个版本解决了我提出的问题,当对DataSet增删记录时,ListView能够同步显示。下面看看具体的实现代码。 为了解决上面的问题,作者为IkbmMWBindingNavigator接口增加了下面的方法: IkbmMWBindingNavigator = inte 阅读全文

posted @ 2019-11-27 15:02 红鱼儿 阅读(820) 评论(0) 推荐(0)

SmartEvent with kbmMW #1
摘要:前言 前面的文章,我写了有关SmartBinding框架方面的内容。SmartBinding的目的是将数据容器绑定到一起,通常情况下,数据容器可以是显示数据或与数据交互的控件(Edit,ListView...),也可以是存储数据的容器,如查询结果的DataSet,ObjectList或Record等 阅读全文

posted @ 2019-11-22 10:45 红鱼儿 阅读(325) 评论(0) 推荐(0)

kbmMW 5.10.01试用报告
摘要:1.FileClient.SameFile 调用这个方法,当本地文件不存在时,会一直等待。跟踪代码,发现: function TkbmMWCustomFileClient.SameFileEx(LocalPath:string; RemotePath:string; const Args:array 阅读全文

posted @ 2019-11-20 13:51 红鱼儿 阅读(454) 评论(0) 推荐(0)

kbmMW 5.10.10 SmartBinding问题修正
摘要:2020-01-09:kbmMW 5.10.20解决了下面的问题,如果你已经升级到该版本,则下面内容没必要读了! 千呼万唤始出来,最新的kbmMW 5.10.01终于发布了,详情可以看xalion发的更新日志。 我期待的Smartbinding for Listview终于来了,在这一版本中,对Sm 阅读全文

posted @ 2019-11-15 14:03 红鱼儿 阅读(447) 评论(0) 推荐(0)

SmartBinding工作原理分析
摘要:关于kbmMW SmartBinding,我翻译了作者写的几篇文章,其强大的绑定机制,将可视控制与各种数据源灵活绑定在一起,实现了类似DBEdit数据敏感控件的效果,可以及大的减少我们的代码,实现界面与逻辑分离的代码设计,从而实现易于维护与管理的代码,怎一个爽字了得。如果不了解kbmMW Smart 阅读全文

posted @ 2019-11-08 10:10 红鱼儿 阅读(615) 评论(0) 推荐(0)

SmartBinding with kbmMW #4
摘要:前言 在前面写过的文章中,详细介绍过如何将各种的控件与数据源进行绑定(Bind)。在这篇文章中,将重点讨论如何绑定TImage和TListView。(同时支持VCL与Firemonkey)。 将图形数据源绑定到TImage和捕获绑定 在VCL和FMX模式下,使用kbmMW都可以很容易地将数据集中的图 阅读全文

posted @ 2019-10-21 16:35 红鱼儿 阅读(558) 评论(0) 推荐(0)

kbmMW Scheduler.InAMoment用法
摘要:kbmMW Scheduler提供了一个方法InAMoment,由于没有找到调用的例子,只好查看代码,原来这个方法与RunNow差不多,是立即执行一个方法,并且在主线程中。 看上面的写法,可以用来更新GUI,同RunNow一样,是无法配置的。 参考以前写的内容,在这里,理解Scheduler.Run 阅读全文

posted @ 2019-09-30 16:49 红鱼儿 阅读(334) 评论(0) 推荐(0)

REST easy with kbmMW #1
摘要:kbmMW 5.0支持REST服务器的开发,并且非常简单,下面看看如何实作一个REST服务器。 首先我们制作一个服务器应用程序,增加一个简单的Form,并放置kbmMW组件。 在Delphi中单击File - New - VCL Forms Application 然后将以下kbmMW组件添加到Fo 阅读全文

posted @ 2019-07-31 15:14 红鱼儿 阅读(710) 评论(0) 推荐(0)

生成指定范围的随机数序列
摘要:有这样一个需求,我要生成1,2,3...100,其顺序是随机的。 下面是运行结果: 这个代码中使用了kbmMW随机数生成器TkbmMWRandomPCGUInt32,需要注意的就是Random生成的数字范围,Random(a,b),只生成a与b-1范围内的整数,不含b,例如a=1,b=10,那么只生 阅读全文

posted @ 2019-07-25 18:22 红鱼儿 阅读(808) 评论(0) 推荐(0)