全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2487
推到 Plurk!
推到 Facebook!

一個詭異的Delphi繼承問題…

答題得分者是:P.D.
stacker_liew
初階會員


發表:50
回覆:116
積分:48
註冊:2004-05-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-01-10 13:37:26 IP:60.50.xxx.xxx 訂閱
我的專案裡有三個Form,Form A是原始Form,Form B跟Form C都是同樣繼承自Form A,在Form A上面放了三個DBGrid, 一個sDBNavigator,在Form A上的sDBNavigator有它的OnClick事件,在Form B,Form C上也有(非繼承),但奇怪的是Form A跟Form B上面的OnClick事件都有被執行,唯獨是Form C上面的郤不被執行。更詭異的是,Form A,Form B,Form C上的DBGrid也各自有自己的事件,也都有被正確執行,就是sDBNavigator的郤不會被執行。

有沒有人遇到過像我這樣的問題呢?
編輯記錄
stacker_liew 重新編輯於 2012-01-09 22:38:39, 註解 無‧
stacker_liew 重新編輯於 2012-01-09 22:39:39, 註解 無‧
P.D.
版主


發表:571
回覆:3884
積分:3672
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-01-11 16:28:27 IP:118.169.xxx.xxx 未訂閱
你這樣的描述令人摸不著邊, 還真詭異!
1.所謂 forma, b, c繼承, 是如何繼承法? 還是只是 forma, b, c 各自 uses 共用而已(這不叫繼承)
2.一個 forma 三個 dbgrid, 只有一個 dbnavigator, 也很奇怪, 不知道用意為何?
3. formb, formc 的 O N C L I C K事件, 指的是那一個物件的 EVENT?
4. forma, formb 的 dbgrid 各自有自己的事件, 也都被執行, 這又是被那一個物件行為所執行或呼叫?
5.而sDBNavigator 卻不會被執行, 指的又是那一個 form?
6.這其中 forma, b, c 的關係是如何關聯的?
7. formb, fomr c 也有(非繼承), 又是那個物件與那個物件有, 而又不是繼承?
===================引 用 stacker_liew 文 章===================
我的專案裡有三個Form,Form A是原始Form,Form B跟Form C都是同樣繼承自Form A,在Form A上面放了三個DBGrid,一個sDBNavigator,在Form A上的sDBNavigator有它的OnClick事件,在Form B,Form C上也有(非繼承),但奇怪的是Form A跟Form B上面的OnClick事件都有被執行,唯獨是Form C上面的郤不被執行。更詭異的是,Form A,Form B,Form C上的DBGrid也各自有自己的事件,也都有被正確執行,就是sDBNavigator的郤不會被執行。

有沒有人遇到過像我這樣的問題呢?
編輯記錄
P.D. 重新編輯於 2012-01-11 01:29:06, 註解 無‧
P.D. 重新編輯於 2012-01-11 01:29:35, 註解 無‧
P.D. 重新編輯於 2012-01-11 01:30:13, 註解 無‧
P.D. 重新編輯於 2012-01-11 01:31:13, 註解 無‧
stacker_liew
初階會員


發表:50
回覆:116
積分:48
註冊:2004-05-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-01-12 15:40:13 IP:60.48.xxx.xxx 訂閱
解決了,原來是我的疏忽,一個Sender忘了設置。
抱歉…
stacker_liew
初階會員


發表:50
回覆:116
積分:48
註冊:2004-05-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-01-12 15:42:49 IP:60.48.xxx.xxx 訂閱
Form B(Form A), Form C(Form A)
這樣應該是繼承吧
===================引 用 P.D. 文 章===================
你這樣的描述令人摸不著邊, 還真詭異!
1.所謂 forma, b, c繼承, 是如何繼承法? 還是只是 forma, b, c 各自 uses 共用而已(這不叫繼承)
2.一個 forma 三個 dbgrid, 只有一個 dbnavigator, 也很奇怪, 不知道用意為何?
3. formb, formc 的 O N C L I C K事件, 指的是那一個物件的 EVENT?
4. forma, formb 的 dbgrid 各自有自己的事件, 也都被執行, 這又是被那一個物件行為所執行或呼叫?
5.而sDBNavigator 卻不會被執行, 指的又是那一個 form?
6.這其中 forma, b, c 的關係是如何關聯的?
7. formb, fomr c 也有(非繼承), 又是那個物件與那個物件有, 而又不是繼承?
===================引 用 stacker_liew 文 章===================
我的專案裡有三個Form,Form A是原始Form,Form B跟Form C都是同樣繼承自Form A,在Form A上面放了三個DBGrid,一個sDBNavigator,在Form A上的sDBNavigator有它的OnClick事件,在Form B,Form C上也有(非繼承),但奇怪的是Form A跟Form B上面的OnClick事件都有被執行,唯獨是Form C上面的郤不被執行。更詭異的是,Form A,Form B,Form C上的DBGrid也各自有自己的事件,也都有被正確執行,就是sDBNavigator的郤不會被執行。

有沒有人遇到過像我這樣的問題呢?
P.D.
版主


發表:571
回覆:3884
積分:3672
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2012-01-12 22:58:08 IP:118.169.xxx.xxx 未訂閱
恭喜您找到問題了!
系統時間:2017-11-20 12:03:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!