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

函式可被複製嗎?

尚未結案
neoaj23
一般會員


發表:35
回覆:7
積分:8
註冊:2003-09-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-21 23:11:22 IP:61.56.xxx.xxx 未訂閱
變數是可被複製的 a, b: Integer; a := b; 那函式呢? TBooleanObj = procedure(aBool: Boolean) of Object; AProc, BProc: TBooleanObj; AProc := BProc; 這樣是把BProc的指標只給AProc,當執行AProc時其實是執行BProc,若在做 AProc := BProc;之後BProc的變數內容有更改再座AProc時的變數一樣式更改過後的值,請問有無語法或方法能夠複製函式實體或函式實體內的變數?
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-22 01:54:59 IP:203.204.xxx.xxx 未訂閱
引言: 這樣是把BProc的指標只給AProc,當執行AProc時其實是執行BProc,若在做 AProc := BProc;之後BProc的變數內容有更改再座AProc時的變數一樣式更改過後的值,請問有無語法或方法能夠複製函式實體或函式實體內的變數?
neoaj23 你好 1.函式或程序是儲存在記憶體或磁碟(尚未載入)一堆可達成某些目的的機械碼,它是經過編譯器依我們所寫的程式碼編譯而成的,所以其內容是不能修改的,但能不能複製呢?如果你懂低階的記憶體的操作的話,或許可以複製,但有何意義呢? 2.對於物件的方法,卻可透過繼承、覆載等技巧來達成變更你所說函式變更
引言: TBooleanObj = procedure(aBool: Boolean) of Object; 這個是物件的Procedure就是所謂的方法啦 AProc, BProc: TBooleanObj; 而這個變數是指向TBooleanObj物件方法的指標
3.這部份是實作物件的事件時使用的技巧(一般程式內也可利用此技巧),先宣告一個物件的方法(限定方法的參數型態、個數及傳回值的型態),在元件內部即可判斷代表該事件的變數(如上AProc,BProc)是否為nil就知道該事件是否要做額外的工作
系統時間:2024-05-17 18:19:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!