gpt4 book ai didi

delphi - LiveBinding 的用法

转载 作者:行者123 更新时间:2023-12-03 15:28:19 25 4
gpt4 key购买 nike

我不明白 LiveBinding 的目的。我想知道LiveBinding在哪些情况下最有值(value)。 Embarcadero 的手册对此进行了描述:“LiveBindings 是 RAD Studio 中的 VCL 和 FireMonkey 框架都支持的数据绑定(bind)功能。LiveBindings 是一个基于表达式的框架,这意味着它使用绑定(bind)表达式将对象绑定(bind)到其他对象或数据集字段” .
谢谢,但我还是不知道比以前更多。

我看过一些视频,其中一个人花了 12 分钟和百分之一的点击来将 TLabel 的标题连接到 TListBox 控件。当用户单击 ListBox 中的某个项目时,该项目的名称将显示在 Label 中。我可以用一行代码来完成此操作(只需几次击键,无需点击鼠标)。我并不是在批评 LiveBinding。我是说我不明白它有什么帮助。我缺少一些东西。由于它没有做一些无法通过代码完成的事情,这意味着它正在做一些可以通过代码完成的事情,但视觉上要快得多。我承认我没有在这个主题上投入很多时间,但我到处都看到一种非常复杂的方式(来吧,你真的需要 5 个额外的控件才能使 LiveBinding 工作吗?)来完成一项简单的任务。

此外,LiveBinding 似乎主要是为 DB 设计的。所有示例都将包含某种数据库连接。但我只对可以使用 LiveBindings 并且不涉及数据集/数据库的情况感兴趣。我没有那么多使用数据库。

最佳答案

我非常怀疑如果可以使用传统的数据库感知 VCL 组件,任何人都会使用实时绑定(bind)。但是,这不是非 VCL 项目(Android、Apple 等)的选项,并且实时绑定(bind)是 Emba 提供的唯一用于向 TDataSet 后代传递数据的选项。

实时绑定(bind)的一个优点是,除了 Android 和 Apple 目标之外,您还可以在 Windows 应用程序中使用它们,因此可以想象您可以为这三个目标编写相同的(基于 FMX)应用程序。

Libe 绑定(bind)也可以在 VCL 应用程序中使用,但是说实话,我无法想象为什么有人会使用实时绑定(bind)(如果他们针对 Windows DB)应用程序,因为它们比传统的数据库感知控件慢得多,尤其是多行控件,例如网格。

我自己没有尝试过,但由于实时绑定(bind)的实现是基于接口(interface)的,因此它的潜在用途远远超出了数据库应用程序的范围,但您必须自己实现接口(interface)。它似乎基于一个相当抽象的表达式评估引擎。

建立一个实验室IDE 中的项目似乎比传统的 VCL 应用程序需要更多的点击操作,但这主要是因为涉及一个额外的步骤,您需要告诉 IDE 如何将 gui 对象绑定(bind)到数据源)。但是,如果您愿意,完全在代码中“连接”实时绑定(bind)非常简单。

关于delphi - LiveBinding 的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com