Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi Livebindings绑定范围通知_Delphi_Data Binding_Delphi Xe2_Livebindings - Fatal编程技术网

Delphi Livebindings绑定范围通知

Delphi Livebindings绑定范围通知,delphi,data-binding,delphi-xe2,livebindings,Delphi,Data Binding,Delphi Xe2,Livebindings,为了开始使用实时绑定,我目前正在编写一些演示代码。但在某一点上,我遇到了一个问题,我找不到有关的任何文档 我有一个具有多个TEdit的表单,希望使用TBindScope将它们绑定到对象的属性。我设置了BindScope和BindingList,当我执行BindExpression1时,一切都正常。Active:=true 但是现在我更改了对象的属性,并希望通知BindingList更新 问题就在这里。我找不到任何方法通知BindingList,因此它会更新值。 但是如果我做一个BindExpre

为了开始使用实时绑定,我目前正在编写一些演示代码。但在某一点上,我遇到了一个问题,我找不到有关的任何文档

我有一个具有多个TEdit的表单,希望使用TBindScope将它们绑定到对象的属性。我设置了BindScope和BindingList,当我执行BindExpression1时,一切都正常。Active:=true

但是现在我更改了对象的属性,并希望通知BindingList更新

问题就在这里。我找不到任何方法通知BindingList,因此它会更新值。 但是如果我做一个BindExpression1.Evaluate,它会同步这些值

我试着用

  • BindingList.Notify(BindScope'Object.Property')
  • BindingList.Notify(BindScope'Object')
  • BindingList.Notify(对象“属性”)
  • 通知(BindScope,'Property')
  • BindingList.Notify(BindScope,'Active')
通知似乎不起作用

注:我知道在这种情况下不需要BindScope。但由于它的演示代码便于理解,我想知道它是如何与BindScope一起工作的

谢谢。

有关如何解析作用域的详细信息,请参阅的源代码

  • 如果已指定,则使用,否则
  • 如果已指定,则使用,否则
  • 使用

  • 因此,最简单的解决方案可能是将
    组件
    属性(您的TBindScope组件)保留为未分配,并将
    对象
    作为所有者表单的属性。

    我认为我描述的问题不是由解决BindScope时的问题引起的。因为否则我认为BindExpression1.Evaluate将无法工作。问题更多的是,当值更改时,我必须如何通知。@如果听起来正确,请尝试发布完整的可编译代码以重现问题。