<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      delphi property中default的含義

      首先看個案例

      TPerson = class
        published
          property Age: Integer read FAge write SetAge default 20;
      end;
      

      我們創建一個TPerson類 給其一個屬性,然后使用了 default 20 關鍵字,按照我們的理解 應該是 這個age屬性的默認值 就是20;

      其實這個default 說明符不是 默認值的意思;官方也特別提示了:

      https://docwiki.embarcadero.com/RADStudio/Athens/en/Properties_(Delphi)

      image

      可見 這個 default 與 我們理解的不一樣,為了 降低 熵值,降低復雜度,還是不要使用 這些屬性說明符了,就讓其默認就可;

      若要創建實例時,給其默認值,就在構造函數里 指定;


      后來我開發一個按鈕組件,給一個按鈕默認 一個顏色,發現真的不生效:

      //定義屬性時,給其指定一個默認值,鼠標懸浮顏色
      property ColorHot: TColor read FColorHot write SetColorHot default clWhite;
      //在構造函數里指定初始化值,鼠標按下顏色
      constructor TColorButton.Create(AOwner: TComponent);
      begin
        inherited Create(AOwner);
        FColorPressed := clRed;
      end;
      

      image

      所以 還是不要使用 default了,避免 程序難以理解;


      default指令的意思不是設置屬性默認值。它的意思是:當你在組件可視化設計時設置的屬性值和它指定的值不相同時,才將該值存入dfm文件。比如

      property  open: boolean   read   FOpen   write   setOpen   default   true;
      //如果你在Object   Inspector中設置open為true時,open不會被保存,否則保存到dfm文件中。
      //要設置默認值,應該在構造函數Create中設置,如:
      constructor     Ttest.Create(AOwner:   TComponent);
      begin
          inherited;
          open   :=   true;
          //....
      end; 
      

      可見 default 是容易讓開發者產生歧義的,故而盡量不要使用

      在 Delphi 的屬性聲明中,default 關鍵字并不直接影響代碼的執行或編譯過程。在標準的 Delphi 語法中,default 并不用于設置屬性的默認值,而是在接口聲明中作為元數據存在,主要用于文檔和工具支持。

      在屬性聲明中使用 default 關鍵字,如:

      property ColorBack: TColor read FColorBack write SetColorBack default clBtnFace;
      

      這里的 default clBtnFace 是一種指示,告訴開發人員或使用該組件的其他人,如果沒有明確設置 ColorBack 屬性,那么該屬性的“默認”或“期望”值應該是 clBtnFace。然而,這并不會在運行時自動將 ColorBack 設置為 clBtnFace。真正的默認值設置通常在構造函數中完成。

      default 關鍵字在以下幾種情況下可能有用:

      1. 文檔說明:它為開發人員提供了關于屬性預期默認值的明確指示,這有助于理解和使用控件。

      2. 設計時支持:在設計環境中,一些工具可能會利用這個信息來自動為屬性提供默認值,或者在用戶沒有明確設置屬性值時給出提示。

      3. 代碼生成:在某些情況下,代碼生成工具可能會使用 default 關鍵字來生成初始化代碼,但這取決于工具的實現。

      總的來說,default 在 Delphi 屬性聲明中主要起文檔和指示作用,并不直接影響屬性的實際行為。要設置屬性的實際默認值,你需要在類的構造函數中顯式地賦值。

      請注意,我所描述的是標準的 Delphi 行為。在某些特定的 Delphi 版本、擴展或第三方工具中,default 可能有特殊的行為或意義,但這不是 Delphi 語言標準的一部分。如果你在使用特定的框架或工具集,建議查閱相關文檔以了解 default 在該環境中的具體作用。

      posted on 2024-06-06 15:03  del88  閱讀(169)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 在线一区二区中文字幕| 国产av一区二区三区久久| 欧美亚洲精品中文字幕乱码| 东方av四虎在线观看| 正定县| 国产成人精品永久免费视频| 国产精品人妻中文字幕| 洪雅县| 亚洲少妇人妻无码视频| 国产精品青青在线观看爽香蕉| 荣成市| 亚洲日产韩国一二三四区| 在线播放免费人成毛片| 滦南县| 久久99精品国产麻豆婷婷| 欧美颜射内射中出口爆在线| 国产精品亚洲二区亚瑟| 亚洲精品麻豆一二三区| 亚洲伊人久久综合影院| 信宜市| 精品无码国产不卡在线观看| 国产精品av中文字幕| 国产精品久久久国产盗摄| 人妻换着玩又刺激又爽| 国产精品一区在线免费看| 日99久9在线 | 免费| 人妻精品动漫h无码| 日韩精品中文字一区二区| 日韩精品欧美高清区| 国产精品午夜福利91| 亚洲精品国产av成拍色拍个| 精品无码久久久久国产| 国产不卡一区二区四区| 人妻伦理在线一二三区| 公与淑婷厨房猛烈进出视频免费| 国产亚洲精品第一综合另类| 日韩精品成人一区二区三| 无码国内精品久久人妻蜜桃| 成人性生交大片免费看r老牛网站| 亚洲一级特黄大片在线观看| 国产又色又爽又黄的在线观看|