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

有關繼承DBMemo的問題

答題得分者是:ccchen
skurama
中階會員


發表:88
回覆:127
積分:73
註冊:2002-07-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-19 16:53:19 IP:61.219.xxx.xxx 未訂閱
請問: 我自己要寫了一個元件是要繼函DBMemo的元件 目前遇到一個問題就是DataField繼呈時,沒有接法像一般DBMemo一樣 可以自己選擇在DataSouce所選擇的物件中的欄位 必須自己輸入欄位名稱, 請問要如可才能像DBMemo的DataField一樣可以用選的 以下是我的Code .................... published property SMemo_Datafield: String read GetYNM_DF write SetYNM_DF; ................... procedure TYNMemo.SetYNM_DF(const Value: String); begin YNMemo.dataField := Value; end; procedure TYNMemo.SetYNM_DF(const Value: String); begin YNMemo.dataField := Value; end; 因為我查Help檔時,只知道DBMEMo的DataField是String的型態 那請問如果我是用String LIst可以嗎???? 但是String List可以放到String內嗎????
------
----------------
初出芧房程設師,
左鍵右鼠寫程式,
日扣夜寫眼框溼,
望能早成系分師。
----------------
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-19 19:39:26 IP:203.217.xxx.xxx 未訂閱
TDBMemo本身已有DataField property,繼承TDBMemo之元件也有同樣之property,當然也有挑選功能, 為何不直接使用? 若要重寫類似DataField之property, 工作可多了 要能挑選必須寫一個PropertyEditor, 並override其中之GetValues以取得挑選之內容, 此外整個DataLink也必須處理, 這不會是你想要的吧
skurama
中階會員


發表:88
回覆:127
積分:73
註冊:2002-07-22

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-19 20:42:36 IP:61.219.xxx.xxx 未訂閱
那在請問一下~~~ 如何繼承時直接使用該元件的屬性 是直接打屬性名稱嗎 ex: publish: property datasource; 要說明是哪個元件的屬性嗎??? 以前是直接使用property Align;就可以直接獲得其祖先元件的屬性 可是目前我做的是DBMemo Panel,如果除了DBMemo又加了DBGrid的話 那如何直接繼承DBMemo的Datasource(因為這兩個都有DataSource的屬性) 麻煩您~~~謝謝~~~
------
----------------
初出芧房程設師,
左鍵右鼠寫程式,
日扣夜寫眼框溼,
望能早成系分師。
----------------
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-20 14:17:57 IP:61.219.xxx.xxx 未訂閱
如何繼承時直接使用該元件的屬性 是直接打屬性名稱嗎 ex: publish: property datasource; 是的, 若ancester物件有此property, 且已為publish則完全不須任何動作即可用, 若原property為protected或public則可如上, 宣告為publish 以前是直接使用property Align;就可以直接獲得其祖先元件的屬性 完全正確 可是目前我做的是DBMemo Panel delphi無法多重繼承不是嗎 如果除了DBMemo又加了DBGrid的話 那如何直接繼承DBMemo的Datasource(因為這兩個都有DataSource的屬性) 若DBGrid DBMemo 你應該是選擇其中一個元件繼承, 例如繼承DBGrid, 而在你的class中加入一個DBMemo之instance 例: [code] TMyDBgrid=class(TDBGrid) .. fMemo:TDBMemo; ... end; 然後override DataSource property之setvalue及getvalue將datasource property傳給DBMemo 若是TPanel TDBGrid TDBMemo, 你是否應考慮看看, 不用這麼麻煩, 直接用Frame來組合這三個元件 麻煩您~~~謝謝~~~ [/quote]
系統時間:2024-03-29 13:16:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!