Delphi FireMonkey プラットフォームを使用して小さなプロジェクトを作成し、新しいライブ バインディング機能を試してみました。TListBox に項目を設定したいので、BOCollection の例TList<IFoo>
を使用します。は、例の値と同様の値を持っています。BindList.FormatExpressions[0]
ControlExpression = 'Text'
SourceExpression = 'Current.Name'
ここで、電話をかけるとBindList.FillList
、「名前が見つかりませんでした」という例外が発生します。TList<TFoo>
ただし、(の代わりに)オブジェクトのリストを使用するTList<IFoo>
と、例外は発生せず、リストは正しく作成されます - 動作します! そのため、ライブバインディングはインターフェイスのプロパティを見つけることができないようです.
IFoo の定義は次のとおりです。
IFoo = interface
function GetName: string;
procedure SetName(const AValue: string);
property Name: string read GetName write SetName;
end;
インターフェイスで livebinding を機能させることは可能ですか?