為什麼要用線程,簡單一點來說吧,省得有些像我一樣的新手聽不懂,當你編完一個程序,例如是讀取文件的程序,如果你讀取的文件很大,你的程序如果不是透過線程來執行的話,你一動這個正在讀取檔案的程式窗口,結果是什麼,「死屏」就是你的程式根本拖不動,無法繼續做其它的事了,呵呵,如果你用線程,什麼問題都解決了,廢話少講,要學的看以下文章吧。
首先當然是打開你的delphi 6 ,點取選單列中的檔案-新建-其它,彈出一個標籤窗口,選取new標籤,然後找到Thread Object,就是它了,雙擊它就行了,彈出一個類別命名窗口,輸入mythread,當然名稱可由你自已來定的。這時程式自動建立一個unit,我這裡是unit2,現在我們來看unit,程式碼如下:
unit Unit2;
interface
uses
Classes;
type
mythread = class(TThread)
PRivate
{ Private declarations }
protected
procedure Execute; override;
end;
implementation
{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,
Synchronize(UpdateCaption);
and UpdateCaption could look like,
procedure mythread.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
{ mythread }
procedure mythread.Execute;
begin
{ Place thread code here }
end;
end.
其中,你注意到找到procedure mythread.execute;,你應該找到了吧,連我都看到了,這就是你剛才建立的線程了,那麼接下來,我們要做的就是加入後台執行的程式碼,程式碼要加在那裡?不會吧,當然是加在
begin
//這裡就是加入程式碼的地方了
end;
如果你要呼叫unit1上的控件,你可以在unit2上面的uses中加入unit1就行了,記住,在unit1裡的implementation後面增加uses unit2,這樣你就可在unit1中引用線程了,引用的方法很簡單,就是,就是,就是,好啦,不賣關了,就是mythread.Create(false);。 OK 這就是delphi中的線程,呵呵。
本人剛學delphi 有什麼地方說得不對的,歡迎評批指證,我的聯絡信箱[email protected]謝謝!