首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LiveBindings TObjectBindSourceAdapter

LiveBindings TObjectBindSourceAdapter
EN

Stack Overflow用户
提问于 2020-11-16 13:42:17
回答 1查看 122关注 0票数 1

我在和LiveBindings玩,但是我不能让TObjectBindSourceAdapter去工作。我不改变我的对象的属性。我也尝试过这个example。同样的问题。

我有一个FMX应用程序,表单上只有一个复选框

然后我创建了一个简单的类:

代码语言:javascript
复制
  TSettings = class
  private
    FTest: Boolean;
    procedure SetTest(const Value: Boolean);
  public
    property Test: Boolean read FTest write SetTest;
  end;

{ TSettings }

procedure TSettings.SetTest(const Value: Boolean);
begin
  FTest := Value;
end;

然后我已经使用设计器进行了绑定:

我已经创建了适配器:

代码语言:javascript
复制
procedure TFormMain.PrototypeBindSource1CreateAdapter(Sender: TObject; var ABindSourceAdapter: TBindSourceAdapter);
begin
  ABindSourceAdapter := TObjectBindSourceAdapter<TSettings>.Create(Self, TSettings.Create, True);
end;

并向CheckBox添加了一个OnChangeEvent:

代码语言:javascript
复制
procedure TFormMain.CheckBox1Change(Sender: TObject);
begin
  TLinkObservers.ControlChanged(Sender as TComponent);
end;

但是如果我在SetTest中设置了一个断点,它永远不会到达那里。

我遗漏了什么?

该项目可从here下载

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-16 21:01:03

我知道这很奇怪,如果您已经将PrototypeBindSource AutoPost属性设置为True,但您必须通过过程TFormMain.PrototypeBindSource1CreateAdapter中的代码显式地设置(开始编辑)相关的TBindSourceAdapter (结束编辑),使用

代码语言:javascript
复制
ABindSourceAdapter.AutoPost := true;

此外,您的Link组件类是什么?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64853168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档