在線程中使用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

相關文章
相關標籤/搜索