Hat das nicht vielleicht damit zu tun, dass Unidac eine
integerbasierte Domain als Boolean-Feld erwartet, deren Bezeichner die Zeichenfolge "BOOLEAN" beinhalten muß?
Used to create TBooleanField for fields that have domain of the integer data type, and the domain name contains 'BOOLEAN'.
Firedac erwartet dagegen ein
smallint-basiertes Feld, in dessen Namen die Zeichenfolge "BOOL" vorkommt:
FireDac: A boolean field may be created using a domain. The domain name must contain 'BOOL' substring. Also, add ExtendedMetadata=True parameter to your connection definition.
CREATE DOMAIN T_BOOLEAN SMALLINT;
CREATE TABLE ... (
...
BOOLEAN_FIELD T_BOOLEAN,
...);
Die Lösung, AsValue statt AsBoolean zu verwenden, wäre für mich nicht durchgängig praktikabel, weil ich auch datensensitive Steuerelemente wie DBCheckboxen und DBGrids verwende.