欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Delphi線程中怎么拋出異常

錢艷冰2年前27瀏覽0評論

Delphi線程中怎么拋出異常?

在Delphi中使用線程,當窗體關閉時,如果窗體中啟用了線程,一般需要手動關閉,以釋放資源。 常用來結束線程的代碼為:

thread.Terminate;

thread.WaitFor;

即先觸發Terminate方法,然后等待線程的結束。這種方法要求線程不能使用

FreeOnTerminate := True;

否則在WaitFor即將結束的時候會引發“無效句柄”的錯誤。 這種方法在窗體關閉的時候會等待一段事件(因為WaitFor)。

因此,如果不是在主窗體中結束線程時,其實我們可以不必使用WaitFor。而是采用如下方法: 將FreeOnTerminate := True;這樣在窗體關閉的代碼中直接調用

thread.Terminate; 即可。

注意: 如果設置了 thread.OnTerminate := SomeFunction; 那么在調用PcmThrd.Terminate;前盡量將thread.OnTerminate := nil,以免結束線程后SomeFunction中的變量出現空指針錯誤。當然,這不是絕對的,需要根據具體程序而定 .