兩天前我開始學習Delphi,但我陷入了困境。我失敗了,因爲沒有任何東西可以讓我決定寫在這裏。我想創建一個有自己的TTimer對象的字段,並在某個時間間隔內執行一些操作。它甚至有可能嗎?假設我們有這樣的代碼:TTimer對象可以成爲Delphi類的一個字段嗎?
Sth = class
private
public
clock:TTimer;
procedure clockTimer(Sender: TObject);
constructor Create();
end;
constructor Sth.Create()
begin
clock.interval:=1000;
clock.OnTimer := clockTimer;
end;
procedure Sth.clockTimer(Sender: TObject);
begin
//some action on this Sth object at clock.interval time...
end;
我相似的代碼copiles但它不能正常工作。當我調用構造函數時,程序崩潰(線路上的訪問衝突:clock.interval:= 1000;)。我不知道什麼
Sender:TObject
但我認爲這不是問題。是否有可能創建我想要的類?
TTimers是Delphi類中非常常見的字段。表單類是類,並且每次將TTimer放置在表單上時,IDE都會爲您聲明一個TTimer字段。 –
我知道當我將它放在窗體上時,IDE爲我聲明TTimer字段。但我想把TTimer作爲一個沒有形式的類的領域。我想編寫單獨的類(* .pas文件),而不使用表單並將其鏈接到主窗體。所以,沒有形式,我必須自己寫所有的聲明。我不知道這是不是好方法(不是用中學課程),我甚至不知道形式的問題。但是現在在David Heffernan回答後,everthing可以正常工作。 – xan
這個基本問題(你不知道你必須在使用它之前創建對象)告訴我,你可能會從閱讀一些基本材料中受益,比如像馬爾科cantu這樣的大型舊Delphi書籍的前幾章一個(掌握德爾福7或類似的東西),或者至少,花更多的時間在http://www.delphibasics.co.uk/ –