kbmMW 5.07.00试用笔记
在kbmMW 5.06.20试用笔记中遇到的问题,在这个版本中,基本都解决了。但还是发现修正后存在的小问题及新问题:
1.Resolve返回值错误
当提交的ClientQuery是执行一条sql语句,如Insert,当发生错误时,如主键重复,则Resolve无法返回正确的结果。具体情况就是在客户端显示异常信息。
q1.Query.Text:='Insert into t1 (fid,fname) values (''1000'',''aaaa'')';
//q2.Query.Text:='Insert into t2 (fid,fcustomername) values (''1'',''aaaa'')';
tx.StartTransaction;
tx.TransactionResolver:=kbmMWClientTransactionResolver1;
try
///q1.Execute(tx);
//q2.Execute(tx);
tx.AddDataset(q1);
tx.AddDataset(q2);
r:=tx.Resolve;//抛出异常,返回结果不对
....
后记:5.08依旧存在这个问题
2.SameFile
比较文件是否相同,第一次运行正常,如果继续执行一次,则结果错误。跟踪了一下,发现还是存在5.06.20中的问题,WaitRun不等待线程执行完,直接跳到下一句代码。
procedure Tmainform.Button5Click(Sender: TObject);
begin
if kbmMWFileClient1.SameFile('.\1.png','1.png') then
ShowMessage('File is same.')//显示这句,比较结果是对的
else
ShowMessage('File not same.'); if kbmMWFileClient1.SameFile('.\1.png','1.png') then
ShowMessage('File is same.')
else
ShowMessage('File not same.');//执行这句,比较结果是错的 end;
后记:5.08.10解决!
3.kbmMWTCPServerTransport
kbmMW 5.07.00基于ScrossSocket,实现新的Transport,网友遇到从kbmMWTCPIPIndyServerTransport换成kbmMWTCPServerTransport后,遇到问题。我测试过程如下:
procedure Tmainform.Button6Click(Sender: TObject);
var
i:integer;
begin
// 删除所有记录
kbmMWClientQuery1.Close;
kbmMWClientQuery1.Open;
kbmMWClientQuery1.DeleteRecords;
kbmMWClientQuery1.Resolve; for i := to do
begin
Label3.Caption:=i.ToString;
application.ProcessMessages;
kbmMWClientQuery1.AppendRecord([i, i.ToString]);
end; kbmMWClientQuery1.Resolve; end;
服务端利用TCPServerTransport时,一次性提交1000条记录成功,变成10000条记录失败;换成TcpipIndyServerTransport,提交10000条记录成功。
这与xalion所说相符,他说在封装CrossSocket时遇到:就是数据包不能太大。
5.08解决
4.rest上传文件服务
测试xalion做的rest服务器,发现无法上传文件,还是xalion威武,在TkbmMWHTTPMimeHeaderValue.GetDelimiter方法中,增加一行搞定:
function TkbmMWHTTPMimeHeaderValue.GetDelimiter(const AName:string):char;
begin
if (AName=KBMMW_HTTP_REQUEST_HEADER_AcceptDatetime) or
(AName=KBMMW_HTTP_REQUEST_HEADER_Date) or
(AName=KBMMW_HTTP_REQUEST_HEADER_Expires) or
(AName=KBMMW_HTTP_REQUEST_HEADER_Cookie) or
(AName=KBMMW_HTTP_REQUEST_HEADER_IfModifiedSince) or
(AName=KBMMW_HTTP_REQUEST_HEADER_IfUnmodifiedSince) or
(AName=KBMMW_HTTP_REQUEST_HEADER_IfRange) or
(AName=KBMMW_HTTP_REQUEST_HEADER_TE) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_SetCookie) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_Date) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_Expires) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_RetryAfter) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_LastModified) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_ContentType) or
(AName=KBMMW_HTTP_RESPONSE_HEADER_ContentDisposition)//增加这行
then
Result:=';'
else
Result:=',';
end;
5.TkbmMWProcess.CreateProcess调用一个外部EXE出地址错 误:
procedure Tmainform.Button1Click(Sender: TObject);
begin //ShellExecute(0, 'open', PWideChar(String('SyncLocalDateTime.exe')),'',nil,SW_SHOWNORMAL); //uses Winapi.ShellAPI
TkbmMWProcess.CreateProcess('.\SyncLocalDateTime.exe',''); end;
利用ShellExecute调用没有问题,换成CreateProcess则产生地址错 误,已经发给作者。
作者回复很快,确认并在即将发布的版本中修正。另外我进一步测试,调用windows的CMD也是同样的错误。
5.08解决
procedure Tmainform.Button1Click(Sender: TObject);
begin // TkbmMWProcess.CreateProcess('.\Test.exe',''); TkbmMWProcess.CreateProcess('c:\windows\system32\cmd.exe','');
end;
6.kbmMWTCPServerTransport
这是作者新加的基于ScrossSocket修改的Transport,要启用他,需要在inc文件中增加
kbmMW 5.07.00试用笔记的更多相关文章
- kbmMW 5.06.20试用笔记
1.kbmMWConfiguration自动备份配置文件的问题还没有修正. 下面是以前写过的内容,再一次在新闻组中提出这个问题: kbmMW提供一个强大的配置信息管理对象,前期译过这个对象的介绍,在使 ...
- kbmmw 5.07 正式发布
来了来了 5.07.00 Dec 9 2018 Important notes (changes that may break existing code) === ...
- KbmMW 4.40.00 测试发布
经过漫长的等待,支持移动开发的kbmmw 4.40.00 终于发布了,这次不但支持各个平台的开发, 而且增加了认证管理器等很多新特性,非常值得升级.具体见下表. 4.40.00 BETA 1 Oct ...
- CentOS 7 mini 试用笔记
CentOS 7 mini 试用笔记 安装过程中,网卡是默认关闭的,要手动打开. 安装好以后,查看IP地址:# ip addr----------------------1: lo: 本地回环2: e ...
- KBMMW 4.92.00 发布
We are happy to announce the release of kbmMW Professional and Enterprise Edition. Yet again kbmMW c ...
- KBMMW 4.90.00 发布
kbmMW is a portable, highly scalable, high end application server andenterprise architecture integra ...
- kbmmw 5.06.00 beta 发布
原生.高效.可扩展.跨平台通信库来了. we are happy to announce v5.06.00 BETA of our popular middleware for Delphi and ...
- kbmmw 5.05.00 发布
新年前最后几天,kbmmw 发布了新版本,增加一大波功能.we are happy to announce v5.05.50 of our popular middleware for Delphi ...
- KBMMW 4.84.00 发布
kbmMW is a portable, highly scalable, high end application server and enterprise architecture integr ...
随机推荐
- 背包DP 存在异或条件的状态转移问题
题目链接 分析:有大佬说可以用线性基写,可惜我不会,这是用DP写的 题目明确说明可到达的位置只与能值有关,和下标无关,我们就可以排个序,这样每个数可以转移的区间就是它的所有后缀 我们可以用dp[i][ ...
- python – time.sleep – 睡眠线程
import time from threading import Thread class worker(Thread): def run(self): for x in xrange(0,11): ...
- 【其他】【服务器】【4】删除Windows系统中不想要的服务
步骤: 1,开始菜单栏查找“服务”,打开后找到想要删除的服务 2,右键单击想要删除的服务,选择“属性”-“常规”-“服务名称”,记下服务名称(AA) 3,开始菜单栏输入“cmd”打开命令行窗口,输入s ...
- 安装sql 2008步骤以及所遇到的问题
下载网址:http://www.xiazaiba.com/html/4610.html 安装步骤: 1. 在Windows7操作系统系,启动Microsoft SQL 2008安装程序后,系统兼容性 ...
- poj-2369-置换
Permutations We remind that the permutation of some final set is a one-to-one mapping of the set ont ...
- git 恢复误删的分支
在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复. 首先用以下步骤创建一个新分支,修改一些文件后删除,以便进行恢复. 1.创建分支 abc git branc ...
- IntelliJ IDEA2017创建web工程并实现远程部署tomca【转载】
[IntelliJ IDEA2017创建web工程并实现远程部署tomcat] 作者:https://segmentfault.com/a/1190000012762629 将应用打成war包方式 步 ...
- 漫谈moosefs中cgi各项的意义
原创:http://www.cnblogs.com/bugutian/p/6869278.html 转载请注明出处 一.先上一张图 二.解释 1. Metadata Servers (masters) ...
- coursera国际法笔记 持续更新
LECTURE ONE International crime court(ICC) came into being after the Second World War. The Nuremberg ...
- python+ajaxFileUpload 无刷新上传文件
需要准备文件 http://pan.baidu.com/s/1bp4N3nL qqi0 html <script src="{% static 'js/jquery.js' %}& ...