(發件人:TObject)是什麼意思? 如:(發件人:TObject)
procedure TForm1.Button1Click(Sender:TObject);
var
s: Integer;
begin
.....
.....
end;
(發件人:TObject)是什麼意思? 如:(發件人:TObject)
procedure TForm1.Button1Click(Sender:TObject);
var
s: Integer;
begin
.....
.....
end;
Sender是到該觸發事件的組件的引用。在這種情況下,發件人將成爲用戶點擊Button1Click事件的按鈕。
當你有幾個組件調用同一個事件並且你需要找出哪個組件導致事件被觸發時,這非常有用。
舉例來說,你可以這樣做:
if Sender = Button1 then
// ...
@Jeff:您可能想將其改爲「發件人是對組件的引用」。 (最後可以提到的是,在Win32中,發送者在技術上是一個指針,但在其他環境中則不需要)。 – 2010-02-18 08:58:44
或更通用: 如果(發件人是TButton)... 如果(發件人是TEdit)... – 2010-02-18 10:08:40
@Jeroen:是的,我實際上是一個C++ Builder用戶。我們與Delphi共享VCL(Visual Component Library)。所以,發件人對我來說是一個指針。感謝提醒翻譯。 – 2010-02-18 14:26:01
發件人是觸發事件時(調用事件處理程序),這是經常使用的參數。大多數情況下,我會將其描述爲觸發事件的對象。
但是,只要它在此特定情況下從TObject繼承,您實際上可以將任何對象傳遞給發件人參數。正如Jim已經提到的,在這個特定的演員中,您爲Button1的OnClick事件添加了一個事件處理程序。所以當Button1被點擊時,方法Tform1.ButtonClick將被執行,並且發件人將包含對你點擊的按鈕的引用。
問候,
斯特凡
沒有不從'TObject'繼承的對象。 – jpfollenius 2010-02-18 09:23:42
認爲我錯誤地表達了自己。只要它是一個TObject,您就可以在發件人參數中傳遞任何內容。 – Stefaan 2010-02-20 15:27:40
你應該收藏本網站: http://www.delphibasics.co.uk/ 這一個:Delphi語言編程指南WIKI: HTTP:// docwiki .embarcadero.com/RADStudio/en/Delphi_Language_Guide_Index – 2010-02-17 22:19:36