摘要:这几天遇到的几个问题,从5.08.10升级到5.09.00,自然解决了! 所以建议大家都升级到这个版本。 例如我遇到的问题:
阅读全文
摘要:今天遇到奇怪的问题,在线程中建立一个TkbmMWClientQuery的临时对象q,及一个TkbmMWBinaryStreamFormat的临时对象bsf,第一次执行正常,再次执行时一直等待,也不产生异常,最后发现原来用q.DisposeOf,bsf.DisposeOf释放对象产生的问题,改成Fre
阅读全文
摘要:又见这个错误!头几天同事遇到这个问题,我查到去年写的并按此解决了: 今天用kbmMWClientQuery做测试,执行一个sql查询,出现这个错误。打开旧的项目,修改sql,执行,客户端会产生这个问题,查看服务器,也看到访问次数在增加,服务端无异常,只是客 户端产生的异常,按以前的经验,都是因为de
阅读全文
摘要:前言 在SmartBinding #2中,我介绍了新的自动绑定功能,支持在Form设计器中直接定义绑定。不仅如此,kbmMW SmartBind还有更多很酷的功能,即将发布的kbmMW中的SmartBind,将支持绑定Grid的单元格,行或列以及多值表达式绑定和绑定简单常量等其他功能。 绑定Grid
阅读全文
摘要:前言 在之前的文章中,我介绍了SmartBinding作为Delphi的一个新的易于使用和智能的绑定框架。介绍了包括绑定对象,列表,常规数据和可视控件,以及如何使用导航器,所有这些都用代码做了演示。 本文将重点关注下一个kbmMW版本中包含的新SmartBinding功能(SmartBinding
阅读全文
摘要:这个版本除了增加新的SmartBinding功能,同时提供了大量的功能更新以及bug修正。其中,SmartBinding的介绍,xalion已经第一时间写了初识kbmmw 中的smartbind功能,同时还写了XML-RPC和 JSON-RPC的支持文章。kbmMW的福音,向xalion敬礼!关于S
阅读全文
摘要:function TForm5.IsFieldChanged(aDataSet: TkbmMWCustomClientQuery; aFieldName: string): Boolean; var i: TkbmNativeInt; pRec, pOrigRec, pOldRec: PkbmRecord; aOldV, aNewV: Variant; begin if A...
阅读全文
摘要:上图,是在服务端定义多个数据库,准备在客户端通过“联接名称”及“客户端服务名称”访问这些数据库。 基于实现的MultiDBQueryService,将其注册为一个指定客户端服务名称的服务,如下图: 这里,只要设置客户端服务名称及服务类名称即可。其他项不用设置,客户端服务名称设置为djwkQueryS
阅读全文
摘要:早在2008年的2.90.00版本,作者就实现了TkbmMWThreadList,之后在kbmMW 4.40.00版本中,作者使用了Delphi的新特性,实现TkbmMWThreadList的泛型版本,用以实现线程安全的列表。要使用TkbmMWThreadList,首先要引用kbmMWGlobal单
阅读全文
摘要:即将发布的kbmMW,实现了SmartBinding,SmartBinding的设计目标是: 必须易于使用 必须最小化或完全删除重复的代码。(你看到这里的趋势了吗?... kbmMW初心就是为了让事情变得简单!) 必须有良好的表现 必须具有较低的CPU占用及内存占用 绝不能导致无休止的循环调用 应该
阅读全文
摘要:你想过没有,把一个给定的xml或json生成一个Delphi类,并通过这个类完成对xml或json的读写操作吗? 不管有没有,现在kbmMW为我们实现了,看下面这行代码: 一行代码,把给定的JSON文件,生成对应的类单元,类名为TJSONData。 将上面的s变量,存在文件,就得到了生成的单元,加入
阅读全文
摘要:上图为客户端测试结果,运行14小时,无异常报告。基于洞主封装的HttpsysTransport,基于ClientQuery完成25万多次数据库访问操作,含查询并对查询结果进行修改及增加新记录,然后提交操作。客户端64线程同时访问,基于kbmMW Scheduler实现的定时线程,每10秒发起一次访问
阅读全文
摘要:UniDAC支持SQLServer直联了,当时就测试过在kbmMW中用直联方式,结果不尽人意,kbmMWServer在执行sql时会出地址错误,就一直没有进一步测试。今天听xalion说,是因为当直联时,不需要调用CoInitialize,因为调用了才产生这样的问题,可以通过改造kbmMWUniDA
阅读全文
摘要:当文件客户端TkbmMWFileClient产生这个错误,该怎么解决掉呢? 解决方法: 设置ConnectionWaitTimeout为更长时间,这个时间以毫秒为单位,设置20*1000,20秒。
阅读全文
摘要:1.不兼容Android 基于5.07的项目,升级到5.08,不能编译android app.已经反应给作者。作者回复将近快发布fixed,修正这个问题及其他发现的问题。 5.08.01解决了android兼容性问题,可以正常编译app了! 2.此版支持向下兼容旧版服务器 这个版本,升级了传输流(t
阅读全文
摘要:在之前的博文中,我提到了存根生成器框架,将具有生成Delphi客户端存根代码的能力,使得开发Delphi智能客户端变的更容易,完全支持编译时的类型检查和IDE类/属性帮助。 本不想把这个新功能包含在即将发布的kbmMW版本中,但我无法自控.... 必须添加它才能生成相当完整的客户端存根代码。 存根生
阅读全文
摘要:Size.x:屏宽度 Size.y:高度 通过平台的服务,很容易取得显示屏幕的宽度与高度,自从Delphi 10支持了多显示,可以通过全局的TScreen.Screen对象来得取每个屏的信息。 Screen.DisplayCount取得显示屏的数量,通过ScreenDisplays[x]取得每个显示
阅读全文
摘要:即将推出的kbmMW更新不仅是一些bug修正,同时将包含一个新的主要功能:客户端存根生成器框架。 那什么是客户端存根生成器框架呢? 他是一个基于kbmMW smart services,可以生成由各种类型的客户端直接使用的代码,以访问基于kbmMW应用服务器的HTTP smart services。
阅读全文
摘要:看上面的代码,利用ClientQuery执行一条Insert语句,向数据库插入一条记录。如果不为int64参数赋值,则在执行Execute时,产生异常:Unknown parameter datatype (UNKNOW) send from server,同时,记录也插入到数据库中了。如果换用Re
阅读全文
摘要:在新的kbmMW v.5.06.20版本中新加kbmMWProcess单元。通过TkbmMWProcess类的各种类方法,可以轻松地在Windows上对外部进程进行分组,启动和停止。在即将发布的小修补程序中,它还通过实现两个ExecuteProcess方法进一步扩展TkbmMWProcess功能:
阅读全文