線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1323
推到 Plurk!
推到 Facebook!

方法位址

尚未結案
sundy6719
初階會員


發表:136
回覆:78
積分:42
註冊:2002-07-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-11 20:30:54 IP:211.74.xxx.xxx 未訂閱
請教一個問題就是methodaddress我去查了是回傳物件某個方法位址那請問何謂方法位址那和我們所用的記憶體位址有什麼不同呢 謝謝 還有就是何時會用到...
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-11 22:21:14 IP:211.76.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-12 16:58:17 IP:218.168.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-12 23:11:22 IP:211.76.xxx.xxx 未訂閱
oops…speedup版友說的才是正確的,我把MethodAddress弄混了。他是取得事件的位置。(這題分數應該要送給speedup~~) 發表人 - pwipwi 於 2004/07/12 23:13:17
系統時間:2024-06-29 16:49:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!