今天遇到奇怪的問題,在線程中創建一個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