在线程中使用ClientQuery注意的问题

今天遇到奇怪的问题,在线程中创建一个TkbmMWClientQuery的临时对象q,及一个TkbmMWBinaryStreamFormat的临时对象bsf,第一次执行正常,再次执行时一直等待,也不产生异常,最后发现原来用q.DisposeOf,bsf.DisposeOf释放对象产生的问题,改为Free正常了,kbmMW版本5.08.10.ide

procedure TMainForm.Rectangle1Click(Sender: TObject);
var
  url: string;
begin

  CCLoadingIndicator1.ShowLoadingIndicator;
  Scheduler.Run(
    procedure
    var
      bsf: TkbmMWBinaryStreamFormat;
      q: TkbmMWClientQuery;
    begin
      bsf := TkbmMWBinaryStreamFormat.Create(nil);
      q := TkbmMWClientQuery.Create(nil);
      try
       //执行查询任务
      finally
        bsf.DisposeOf;
        q.Disposed;
      end;
    end).SynchronizedAfterRun(
    procedure
    begin
      //同步界面操做

      CCLoadingIndicator1.HideLoadingIndicator;
    end).Activate;
end;

上面代码,在kbmMW 5.09.00下正常了url

相关文章
相关标签/搜索