我已经有这个问题多年了,但也许现在可以轻松解决它。我需要布置一个带有几个TEdit控件的面板,每个控件都应该显示,并允许编辑类的已发布属性。传统上我会使用TEdit(或来自Raize或Developer Express库的数字衍生)和'连接'OnKeyPress和OnExit事件,在编辑文本和属性类型等之间进行转换。所有按照Delphi 1(其大生日)很快!)。
这些天我们有RTTI和Live Bindings,所以理想情况下我想要一种告诉TEdit(或其他类似控件)关于单个已发布属性的方法,然后建立必要的双向链接而不需要所有接线起来和转换。对象检查员当然可以完成这项工作,但是我想要一个使用带标签的编辑控件的更正式的自定义布局。简单地处理整数,浮点数和字符串,以及像TDBEdit这样的字段名称是我的属性名称会很棒。
我看了一下'Bind Visually'设计师(我有XE3),但我不确定。任何人都可以提出这样做的方法吗?感谢。
答案 0 :(得分:0)
Ken White和Sir Rufo的上述评论是使用Live Bindings在彼此之间连接组件的好指针,但我需要将控件连接到我自己的对象,并在运行时创建。进一步挖掘让我this excellent article,这几乎可以做我想要的。 Jarrod的TBoundObject旨在成为您自己对象的祖先,但是通过在构造函数中包含一个FObject字段并用FObject替换他对'Self'的使用,您可以实例化一个独立的'TObjectBinder',它可以轻松地将各种标准控件连接到已发布的属性。