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

元件設計,如何對set集合設定預設值?

答題得分者是:hagar
look4help
一般會員


發表:9
回覆:8
積分:3
註冊:2005-07-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-22 12:31:35 IP:220.132.xxx.xxx 訂閱
請教一下,我自己設計了一個元件較TMyComp,繼承自 TComponent,是一個非視覺化元件。

並且定義了以下兩個資料型態:
TChkComp = (chkEdit, chkComboBox, chkLael);
TChkCompSet = set of TChkComp;

並且在這個非視覺化元件內定義一個屬性,叫做 CheckComponent :TChkCompSet;
我想要在一開始拖曳TMyComp元件使用時,就能夠看到CheckComponent屬性內已經設定好預設值。
因此我在TMyComp.Create事件內有給定預設值,不過好像都無法達到此功能,
請問是哪邊出問題? 以下為我的程式碼:

<textarea class="delphi" rows="10" cols="60" name="code">Type TChkComp = (chkEdit, chkComboBox, chkLael); TChkCompSet = set of TChkComp; TMyComp = class(TComponent) private FChkComponent :TChkCompSet; publish procedure Create(Aowner :TComponent); published property CheckComponent :TChkCompSet read FChkComponent write FChkComponent default [chkEdit, chkComboBox]; end; procedure TMyComp.Create(Aowner :TComponent); begin inherited Create(Aowner); FChkComponent := [chkEdit, chkComboBox]; end; </textarea>
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-22 13:54:05 IP:59.124.xxx.xxx 未訂閱
procedure Create(Aowner :TComponent);

改成如下, 並放在 public 區段:

constructor Create(AOwner: TComponent); override;

look4help
一般會員


發表:9
回覆:8
積分:3
註冊:2005-07-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-22 23:00:25 IP:220.132.xxx.xxx 訂閱
謝謝hagar,問題已經解決了~~~~
系統時間:2024-04-28 8:30:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!