我在和LiveBindings玩,但是我不能让TObjectBindSourceAdapter去工作。我不改变我的对象的属性。我也尝试过这个example。同样的问题。
我有一个FMX应用程序,表单上只有一个复选框
然后我创建了一个简单的类:
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;然后我已经使用设计器进行了绑定:

我已经创建了适配器:
procedure TFormMain.PrototypeBindSource1CreateAdapter(Sender: TObject; var ABindSourceAdapter: TBindSourceAdapter);
begin
ABindSourceAdapter := TObjectBindSourceAdapter<TSettings>.Create(Self, TSettings.Create, True);
end;并向CheckBox添加了一个OnChangeEvent:
procedure TFormMain.CheckBox1Change(Sender: TObject);
begin
TLinkObservers.ControlChanged(Sender as TComponent);
end;但是如果我在SetTest中设置了一个断点,它永远不会到达那里。
我遗漏了什么?
该项目可从here下载
发布于 2020-11-16 21:01:03
我知道这很奇怪,如果您已经将PrototypeBindSource AutoPost属性设置为True,但您必须通过过程TFormMain.PrototypeBindSource1CreateAdapter中的代码显式地设置(开始编辑)相关的TBindSourceAdapter (结束编辑),使用
ABindSourceAdapter.AutoPost := true;此外,您的Link组件类是什么?
https://stackoverflow.com/questions/64853168
复制相似问题