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

為什麼我不能property或Method宣告在protected區

答題得分者是:jessechan
whuang8
一般會員


發表:5
回覆:4
積分:1
註冊:2003-07-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-25 15:22:58 IP:61.222.xxx.xxx 未訂閱
相關問題我找過之前的文章,有一篇ccchen 版主發表的文章有提到如下: 有很多property或Method宣告在protected區, 必須透過繼承才能使用, 然而繼承後之新元件除非安裝至元件盤, 無法在DesignTime使用.。有時我們只須一些簡單的property。 以下以DBGrid之FixedCols為例,設定DBGrid不可捲動之Columns typedef class TTmpGrid : public TDBGrid //宣告class繼承TDBGrid { public: __property FixedCols;//FixedCols為TCustomGrid之protected property //於此將其改為public }TGrid; void __fastcall TForm1::Button1Click(TObject *Sender) { (TGrid *)DBGrid1->FixedCols=2; //DBGrid1 Cast成TGird *後可直接用其FixedCols } 可是我會產生以下的error,無法使用,麻煩各位幫我解答,謝謝 [C Error] odbookin.h(26): E2459 VCL style classes must be constructed using operator new [C Error] odbookin.h(26): E2125 Compiler could not generate default constructor for class 'TTmpGrid' [C Error] odbookin.cpp(146): E2188 Expression syntax
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-25 16:02:16 IP:203.67.xxx.xxx 未訂閱
我看起來沒有問題, 唯一需要修改的是 ((TGrid *)DBGrid1)->FixedCols = 2; 其它在我的 sample 中不會有任何 error.    Jesse Chan
------
Jesse Chan
whuang8
一般會員


發表:5
回覆:4
積分:1
註冊:2003-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-25 16:22:48 IP:61.222.xxx.xxx 未訂閱
那可否請問,type是要寫在任何cpp的.h檔案中任何地方都可以嗎 ? 還是要寫在那?,還是要另外include其他的.hpp呢..?? 因為我試了好幾次compiler都有問題...真不好意思
jessechan
版主


發表:109
回覆:394
積分:254
註冊:2002-04-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-25 16:53:34 IP:203.67.xxx.xxx 未訂閱
理論上可以, 而且不用 include 其它的模組, 我把你的 code 整理一下上傳至 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36301 不知道是不是你要的, 請參考一下. 有問題再 post 上來.    Jesse Chan
------
Jesse Chan
系統時間:2024-05-14 4:39:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!