如何解决在 Delphi Firedac 中添加 ADT 字段的错误?

How to solve error on add ADT field in Delphi Firedac?

我正在使用 Delphi Community (10.2),当我通过字段编辑器在 Firedac TFDQuery 上添加 ADT 字段时出现错误。添加 ADT 字段后,添加子字段,但 id 引发异常:

"Field [subfield] not found"

在我的 TFDQuery 中,SQL 文本类似于:"SELECT TABLE FROM TABLE"。 我找不到关于此错误的任何解释。

ps:尽管出现了错误,"subfield" 工作正常。可能是 Firedac 上的 BUG?

这可能是 FireDac 设计时代码中的一个问题,如@MartynA 所说。但是,避免错误的一种方法是将 TFDQuery.ObjectView 属性 设置为 false (Displaying_ADT),这样,ADT 中存在的子字段字段将是持久字段。为此,您必须先添加 ADT 字段,然后将 TFDQuery.ObjectView 设置为 false,然后在 TFDQuery.

中添加 ADT 子字段