期間使用了 Ctrl+J、Shift+Ctrl+C、Ctrl+Alt+P 等快捷鍵.
重要的修正與補充: 在 TThread 類的例子中, 應該有這句: FreeOnTerminate := True; (原來漏掉, 代碼中已加上; 但動畫加不上了).
先說它什麼意思:
類 Create 了就要 Free;
但 TThread(的子類) 有特殊性, 很多時候我們不能確定新建的線程什麼時候執行完(也就是什麼時候該釋放);
如果線程執行完畢自己知道釋放就好了, 所以 TThread 給了一個布爾屬性 FreeOnTerminate, 如果為 True, 線程執行完畢後就會自釋放.
我怎麼會忽略了這麼重要的問題呢? 原因有二:
1、我一直在追求最精煉的代碼;
2、我手頭上不只一本書上介紹說: FreeOnTerminate 的默認值是 True(錯誤!), 經落實, 應該是 False, 起碼在 Delphi 2007 和 2009 中是這樣; 或許以前的某個版本和現在不一樣.