您现在的位置:首页 >> VCL >> VCL >> 内容

Delphi中如何让控件在编译时,自动添加所需的单元

时间:2011/9/3 16:25:00 点击:

  核心提示:但是让用户逐个把所需的单元添加回来,又显然太麻烦了,甚至用户也不知道该添加哪些单元。有没有办法让它自动化一点,在编译时,让控件自动给单元添加所需的单元呢?答案是肯定的。  首先引用DesignEdit...
但是让用户逐个把所需的单元添加回来,又显然太麻烦了,甚至用户也不知道该添加哪些单元。有没有办法让它自动化一点,在编译时,让控件自动给单元添加所需的单元呢?答案是肯定的。    首先引用DesignEditors和DesignIntf单元。然后在控件单元,编写一个继承自TSelectionEditor的类,例如说叫TMyUnitSelector吧。   type
 TMyUnitSelector = class(TSelectionEditor)
 public
  procedure RequiresUnits(Proc: TGetStrProc); override;   // 覆盖此方法来添加所需的单元
 end;   procedure TMyUnitSelector.RequiresUnits(Proc: TGetStrProc);
begin
 // 例如说,我要在编译时,控件能够自动给当前单元添加上DB和DBClient这两个单元
 Proc('DB');
 Proc('DBClient');
end;    最后在注册控件的Register过程中,加上一句就可以啦(假设控件类名叫TMyEdit)。 procedure Register;
begin
 RegisterComponents('Samples', [TMyEdit]);
 RegisterSelectionEditor(TMyEdit, TMyUnitSelector);  // 让控件和SelectionEditor关联
end;

作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号