-1

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

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

Published
  property Images: TImageList read GetImages write SetImages;

我可以编译它,但该属性没有出现在对象检查器中。在代码中使用控件时,它确实出现在 delphi IDE 中:

喜欢 :

AdvSmoothDock1.Images := ImageList1;

目前我正在使用 Delphi XE2 VCL。

问候。

4

1 回答 1

4

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

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

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

(当然,正确的做法是创建您自己的 TAdvSmoothDock 后代,添加属性,将其放入您自己的使用 TMS 的包中,并且永远不要接触 TMS 源代码。)

于 2012-07-12T11:01:28.073 回答