将新属性添加到TMS控件“TAdvSmoothDock”但它不会出现在Object Inspector中

时间:2012-07-12 09:56:33

标签: delphi tms

我正在尝试将新属性(图片:TImageList)添加到TMS控件“TAdvSmoothDock”,但该属性未出现在对象检查器中

我在“已发布”下定义如下:

Published
  property Images: TImageList read GetImages write SetImages;

我可以编译它,但该属性不会出现在Object Inspector中。 在代码中使用控件时,它确实出现在delphi IDE中:

喜欢:

AdvSmoothDock1.Images := ImageList1;

目前我正在使用Delphi XE2 VCL。

问候。

1 个答案:

答案 0 :(得分:4)

您需要重建包含该组件的TMS包,而不仅仅是更改源代码。

Object Inspector不使用代码源来确定要显示的内容。它使用RTTI(运行时类型信息),它从包含组件的运行时包中的编译版本获取(如果没有可用的运行时包,则使用设计时包。

找出TMS组件所在的包,在IDE中打开该包的源(包的.dproj文件),然后构建该包。确保它看到的是您的源版本而不是正常的TMS版本,因此您的更改将被使用。

(当然,正确这样做的方法是创建自己的TAdvSmoothDock后代,添加属性,将其放入您自己的使用TMS的包中,从不触摸TMS源代码。)