1.不兼容Android

基于5.07的项目,升级到5.08,不能编译android app.已经反应给作者。作者回复将近快发布fixed,修正这个问题及其他发现的问题。

5.08.01解决了android兼容性问题,可以正常编译app了!

2.此版支持向下兼容旧版服务器

这个版本,升级了传输流(transport stream version)的版本到508,以支持传输除接口,对象及内置值(典型的Records)之外的其他基于TValue的数据。新版服务器能够检查并支持旧版本的客户端,可以通过设置将新版本客户端强制为旧版本以支持旧版的服务器。象下面这样调用即可:

  1. kbmMWNativeHTTPClientTransport1.Params.Values[KBMMW_STREAM_FORMATTER_PARAM_STREAMVERSION]:=''; //将5.08版本编译的客户端降级为5.06,访问5.06的服务端

作者在升级说明中有误,没调用Values,按上面方法调用即可,测试通过。

3.TkbmMWProcess.CreateProcess 问题修正

测试5.07时遇到的CreateProcess会产生AV错误,现在正常了。发现新的问题:调用cmd,不产生AV但不显示cmd窗口。将这个问题反应给作者后得到了答复,原来我的调用方式不对,要显示cmd窗口,要这样调用:

  1. TkbmMWProcess.CreateProcess(,,,,'c:\windows\system32\cmd.exe','','',true);
  2.  
  3. TkbmMWProcess.ExecuteProcess('c:\windows\system32\cmd.exe','',,'',true);

4.kbmMWTCPServerTransport

基于CrossSocket修改的Transport,要启用他,此版还需要在kbmMWConfig.inc文件中增加

{$DEFINE  KBMMW_NATIVETRANSPORT_SUPPORT}
上版存在的提交大数据包的问题,我做的例子测试通过了!
 
5.SameFile
5.08.01解决了这个问题。
 
6.Resolve在特殊情况返回值错误
没有解决,重新发给了作者。
实际上,这个TkbmMWClientTransactionResolver.Resolve方法,应该在开始处设置Result:=False,当所有工作完成后,再设置Result:=True,从而避免没有正确提交时,返回结果为False。不然,在提交前后及提交过程中一但发生异常,都会返回True。
在作者没修正前,可以用下面的代码实现提交:
  1. procedure Tmainform.Button5Click(Sender: TObject);
  2. var
  3. q1, q2: TkbmMWClientQuery;
  4. bsf1, bsf2: TkbmMWBinaryStreamFormat;
  5. ResolveOK: Boolean;
  6. ErrorMessage: string;
  7. begin
  8. ErrorMessage:='';
  9. q1 := TkbmMWClientQuery.Create(nil);
  10. q2 := TkbmMWClientQuery.Create(nil);
  11. bsf1 := TkbmMWBinaryStreamFormat.Create(nil);
  12. bsf2 := TkbmMWBinaryStreamFormat.Create(nil);
  13. try
  14. q1.SessionName := 'Test';
  15. q2.SessionName := 'Test';
  16. q1.QueryService := 'QueryService';
  17. q1.QueryServiceVersion := '1.0';
  18. q1.TransportStreamFormat:=bsf1;
  19. q2.QueryService := 'QueryService';
  20. q2.QueryServiceVersion := '1.0';
  21. q2.TransportStreamFormat:=bsf2;
  22.  
  23. q1.TransactionOperation := mwtoExecute;
  24. q2.TransactionOperation := mwtoExecute;
  25.  
  26. q1.Query.Text := 'Insert into t1 (fid,fname) values (''1000'',''aaaa'')';
  27. q2.Query.Text := 'Insert into t2 (fid,fcustomername) values (''1'',''aaaa'')';
  28. ResolveOK := False; //假设提交不成功
  29. try
  30. ResolveOK:=kbmMWClientTransactionResolver1.Resolve([q1,q2]);//提交两个数据集,当发生异常时,ResolveOK会为False
  31. except
  32. on E:Exception do
  33. begin
  34. ErrorMessage:=e.Message;
  35. end;
  36. end;
  37. finally
  38. if not ResolveOK then //提交失败显示错误信息
  39. begin
  40. ShowMessage('提交失败:'+ErrorMessage);
  41. end;
  42. bsf1.Free;
  43. bsf2.Free;
  44. q1.Free;
  45. q2.Free;
  46. end;
  47.  
  48. end;
 
 
 
 

kbmMW 5.08.10试用报告的更多相关文章

  1. kbmMW 5.08.01压力测试报告

    上图为客户端测试结果,运行14小时,无异常报告.基于洞主封装的HttpsysTransport,基于ClientQuery完成25万多次数据库访问操作,含查询并对查询结果进行修改及增加新记录,然后提交 ...

  2. kbmMW 5.07.00试用笔记

    在kbmMW 5.06.20试用笔记中遇到的问题,在这个版本中,基本都解决了.但还是发现修正后存在的小问题及新问题: 1.Resolve返回值错误 当提交的ClientQuery是执行一条sql语句, ...

  3. 活动助手Beta用户试用报告

    用户试用报告 1.面向参与者用户 1.1 日常参加各类学习(水综测)活动中,有没有遇到以下问题: (1) 信息来源混乱,不知道靠不靠谱 (2) 每次报名都要重新填写自己的学号手机号,有时候填错了就没综 ...

  4. kbmMW 5.06.20试用笔记

    1.kbmMWConfiguration自动备份配置文件的问题还没有修正. 下面是以前写过的内容,再一次在新闻组中提出这个问题: kbmMW提供一个强大的配置信息管理对象,前期译过这个对象的介绍,在使 ...

  5. 【鸿蒙开发板试用报告】用OLED板实现FlappyBird小游戏(中)

    小伙伴们久等了,在上一篇<[开发板试用报告]用OLED板实现FlappyBird小游戏(上)>中,我们本着拿来主义的原则,成功的让小鸟在OLED屏幕上自由飞翔起来,下面我们将加入按钮交互功 ...

  6. KBMMW 4.93.10 win64 一个BUG 修正

    经常有人提到kbmmw 4.93.10 的64 位版本没有32位版本稳定. 经过官方确认,是delphi 编译器生成64 位代码内存偏移地址的错误. 在kbmMWGlobal.pas 中 有一个函数k ...

  7. 新手C#SQL Server使用记录2018.08.10

    主键(PrimaryKey):主键就是每个数据行(记录)的唯一标识,不会有重复值的列(字段)才能当做主键.一个表可以没有主键,但是这样会很难处理表,因此一般情况表都要设置主键. 主键有两张选用策略,分 ...

  8. Latex 4: WinEdt 10试用时间限制的破解+注册码激活

    方法1:我发现这个方法1,现在(2018.06.05)在winedt 10.2上已经不能用了,在低版本(10.1及以下版本)上还可以用,所以如果方法1不行,请看方法2. WinEdt 是目前我发现最好 ...

  9. 2021.08.10 Euler函数总结

    2021.08.10 Euler函数总结 知识: 记 φ(n) 表示在 [1,n] 中与 n互质的数的个数. 1.p为质数,则 \[φ(p^l)=p^l-p=p^{l-1}(p-1) \] 注:每p个 ...

随机推荐

  1. Linux中计划任务、周期性任务设置

    Linux中计划任务.周期性任务设置 计划任务:指在未来的特定时间里,执行一次某一特定任务.当然,如果同一任务需要在不同时间点执行执行两次.三次或多次,可以视为多个一次看待. 周期性任务:指某一任务需 ...

  2. Educational Codeforces Round 48 (Rated for Div. 2)G. Appropriate Team

    题意:求满足条件的(i,j)对数:\(gcd(v,a_i)=x,lcm(v,a_j)=y\) 题解:\(x|a_i,a_j|y\),\(x|y\),考虑质因子p,假设a_i中p次数为a,x中次数为b, ...

  3. spring boot(九)定时任务

    在我们的项目开发过程中,经常需要定时任务来帮助我们来做一些内容,springboot默认已经帮我们实行了,只需要添加相应的注解就可以实现 1.pom包配置 pom包里面只需要引入springboot ...

  4. laravel源码解析

    本专栏系列文章已经收录到 GitBooklaravel源码解析 Laravel Passport——OAuth2 API 认证系统源码解析(下)laravel源码解析 Laravel Passport ...

  5. 【LeetCode】数值运算(除法、乘方)

    C/C++数字范围(32位系统) ~ // 1 字节 char // 1 字节 ~ // 2 字节 - // 4 字节 unsigned: - // 4 字节 size_t: ~ // 4 字节 - ...

  6. [CodeForces - 614A] A - Link/Cut Tree

    A - Link/Cut Tree Programmer Rostislav got seriously interested in the Link/Cut Tree data structure, ...

  7. [洛谷 P3239] [HNOI2015]亚瑟王

    [HNOI2015]亚瑟王 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知, ...

  8. docker 安装nginx、php-fpm

    运行环境: 创建目录: mkdir -p /Users/sui/docker/nginx/conf.d && mkdir /Users/sui/www && cd /U ...

  9. qt 调用zlib压缩与解压缩功能

    Zlib是一种免费且通用的压缩库,由于Zlib压缩效果比LZW好,而且解压缩速度快,更重要的是商业软件中使用Zlib不需要缴纳版权费,所以很多游戏都使用Zlib压缩资源文件. Zlib是由Jean-l ...

  10. textarea标签内的文字无缘故居中解决原因

    <textarea> 内容内容 </textarea> 浏览器会解析为 <textarea><br>     内容内容</textarea> ...