3

我多年来一直有这个问题,但也许现在可以轻松解决它。我需要布置一个带有多个 TEdit 控件的面板,每个控件都应该显示并允许编辑类的已发布属性。传统上,我会使用 TEdit(或来自 Raize 或 Developer Express 库的数字衍生物)并“连接” OnKeyPress 和 OnExit 事件,在编辑文本和属性类型等之间进行转换等。所有这些都按照 Delphi 1(其生日大快了!)。

这些天我们有 RTTI 和 Live Bindings,所以理想情况下,我想要一种告诉 TEdit(或其他类似控件)关于单个已发布属性的方法,然后将建立必要的 2 路链接,而无需所有的接线和转换. 对象检查器当然可以完成这项工作,但我希望使用带标签的编辑控件进行更正式的自定义布局。简单地处理整数、浮点数和字符串就可以了,像 TDBEdit 这样字段名称是我的属性名称的东西会很棒。

我已经查看了“Bind Visually”设计器(我有 XE3),但我不确定。任何人都可以建议这样做的方法吗?谢谢。

4

1 回答 1

1

Ken White 和 Rufo 爵士的上述评论很好地指出了使用 Live Bindings 在彼此之间连接组件,但我需要将控件连接到我自己的对象,该对象是在运行时创建的。进一步挖掘使我找到了这篇出色的文章,它几乎可以满足我的需求。Jarrod 的 TBoundObject 旨在成为您自己的对象的祖先,但通过在构造函数中包含一个 FObject 字段并用 FObject 替换他对“Self”的使用,您可以实例化一个独立的“TObjectBinder”,它可以轻松地将各种标准控件连接到已发布特性。

于 2013-02-07T10:20:49.523 回答