方法位址 |
尚未結案
|
sundy6719
初階會員 發表:136 回覆:78 積分:42 註冊:2002-07-10 發送簡訊給我 |
|
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
sundy6719你好:
MethodAddress是VCL元件用來取得存取property的函式。一般是內部元件使用,我們不太需要去直接呼叫。 比如說常見的Caption這個property。定義是
__property WideString Caption = {read=GetText, write=SetText};其中的GetText,SetText就是存取這個property的Method,VCL元叫就是用MethodAddress來取得GetText或SetText的位置。如果對元件的運作有興趣的話,這個函式可拿來用用…。不過平常用不太到就是了。 |
speedup
資深會員 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
MethodAddress用來傳回物件Published區段的物件方法位址
基本上程式在載入電腦執行後,編譯後的執行碼會存在記憶體位址之中
方法位址即表示物件方法(在Class的Procedure or Function)的機械碼位址
最簡的的例子就是當程式執行後為什麼當我們按下Button時程式會跳到事件程式(eg. Button1Click())?
那是因為在Button的OnClick事件中事先儲存Button1Click()方法位址,當物件Button被按下之後,該物件會在適當的時機呼叫OnClick所儲存Button1Click()方法位址
從上述的例子來看,可以簡單推敲出這方法的應用時機,由於方法位址必須在程式載入電腦記憶體之中執行時才可明確知道,但在設計Delphi程式時即可指定並儲存物件的事件,為十麼?
因此可以了解到delphi程式的資源檔中有關事件實際儲存並不是方法Address而是該方法的名稱,等程式載入時再透過MethodAddress方法轉換成實際存入該物件的事件之中 混心雜欲 棄修身~唉
------
唉~ |
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |