關於Properties的問題 |
尚未結案
|
ivanxyz
一般會員 發表:7 回覆:10 積分:3 註冊:2004-03-03 發送簡訊給我 |
大家好請教一個問題, 我自己寫了一個元件下面是元件部分的宣告和function,當我執行程式時我沒做
任何動作SetAutoCheck就會被呼叫一次,我要怎樣才能知道call SetAutoCheck
是程式開始執行的那一次,還是執行中我去改AutoCheck時被呼叫的? __published:
__property bool AutoCheck={read=FAutoCheck,write=SetAutoCheck,default= 0}; void __fastcall TTest::SetAutoCheck(bool Value)
{
FAutoCheck = Value;
}
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 大家好請教一個問題, 我自己寫了一個元件下面是元件部分的宣告和function,當我執行程式時我沒做 任何動作SetAutoCheck就會被呼叫一次,我要怎樣才能知道call SetAutoCheck 是程式開始執行的那一次,還是執行中我去改AutoCheck時被呼叫的? __published: __property bool AutoCheck={read=FAutoCheck,write=SetAutoCheck,default= 0}; void __fastcall TTest::SetAutoCheck(bool Value) { FAutoCheck = Value; }應該是您有設定 AutoCheck 才會觸發 SetAutoCheck 吧. 不然的話就用Flag擋住第一次. void __fastcall TTest::SetAutoCheck(bool Value) { static bFirstTimeFlag = TRUE; if (bFirstTimeFlag) { bFirstTimeFlag = FALSE; return; } FAutoCheck = Value; } |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
|
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
引言: 抱歉漏打BOOL, 重貼把bFirstTimeFlag宣告為成員變數會是比較好的做法…。如果用static的話,第二個產生的物件就沒法子抓到第一次呼叫了。void __fastcall TTest::SetAutoCheck(bool Value) { static BOOL bFirstTimeFlag = TRUE; if (bFirstTimeFlag) { bFirstTimeFlag = FALSE; return; } FAutoCheck = Value; } |
StrongLemon
高階會員 發表:10 回覆:166 積分:105 註冊:2004-04-18 發送簡訊給我 |
|
ivanxyz
一般會員 發表:7 回覆:10 積分:3 註冊:2004-03-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |