• kbmMW 5.10.01试用报告


    1.FileClient.SameFile

    调用这个方法,当本地文件不存在时,会一直等待。跟踪代码,发现:

    function TkbmMWCustomFileClient.SameFileEx(LocalPath:string; RemotePath:string; const Args:array of Variant{$IFDEF KBMMW_LICENSE_MESSAGING}; const AOptions:TkbmMWMessageOptions = []; const APostSubject:string = ''{$ENDIF}):boolean;
    ...
         ev:=Scheduler.Run(procedure(const AEvent:IkbmMWScheduledEvent)
                           begin
                                AEvent.Data:=null;
                                AEvent.Data:=LocalChecksum(LocalPath);//这里产生异常,则下面的ev.WaitRun不退出,一直等待
                           end)
                   .Precise.Activate;
         try
            sRemote:=ChecksumEx(RemotePath,Args{$IFDEF KBMMW_LICENSE_MESSAGING},AOptions,APostSubject{$ENDIF});
         finally
            // Await local checksum done before continuing.
            ev.WaitRun;
         end;
    ...

    反馈给作者,等修正。如果文件存在,这个方法执行正常。

    kbmMW 5.10.20没有解决!用下面代码能更好的说明问题,已经发给作者。

    procedure Tmainform.Button6Click(Sender: TObject);
    var
       ev:IkbmMWScheduledEvent;
    
    begin
    
         ev:=Scheduler.Run(procedure(const AEvent:IkbmMWScheduledEvent)
                           begin
                                raise Exception.Create('Error Message');
                           end)
                           .WhenException(procedure (const AEvent:IkbmMWScheduledEvent; const AException:Exception)
                                          begin
                                               //
                                          end)
                   .Precise.Activate;
         try
            //
         finally
            ev.WaitRun; // Wait forever
         end;
    
         ShowMessage('Scheduled Event is finish!'); //Can't execute here
    
    
    end;

    我们手工在线程任务中产生一个异常,这将导致ev.WaitRun一直运行,就卡死到这里,再进一步跟踪,卡死到ev.WaitRuns的循环中了。

    2.SmartBinding for ListView

    测试发现,当绑定数据集与ListView时,增加、删除记录,ListView不会同步显示。如果编辑一条记录,则能够自动同步显示。

    也反馈给作者,不知结何如何?

    kbmMW 5.10.20支持了!

  • 相关阅读:
    自定义中间件
    haha
    博客园使用教程(皮毛)
    购物车
    计算器
    python格式化while循环
    JS弹出框、对话框、提示框,JS关闭窗口、关闭页面和JS控制页面跳转
    CentOS平台下的Docker安装与启动
    面向接口编程详解(一)——思想基础
    三目运算符详解
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/11897196.html
Copyright © 2020-2023  润新知