rgomezc
(Rodrigo Gómez)
May 25, 2026, 6:24pm
1
Hello,
I have never used (or tried to use) Nullable datatypes before. Today I changed one field, a DateTime, for a NullableDateTime, in one of my RODL and regenerated the _Intf files.
When trying to compile it, the following error is produced:
[C++ Error] Ts4_types_intf.h(5263, 46): E2109 Not an allowed type
The line in question is:
__property NullableDateTime ProximoIntento = {read=fProximoIntento, write=fProximoIntento};
Any idea of how to workaround this?
I am on version .1623, and using RAD Studio 12.3, classic C++Builder compiler.
Thanks!
EvgenyK
(Evgeny Karpov)
May 26, 2026, 9:14am
2
Hi,
looks like classic compiler disallows to use delphi records as published properties.
you can try this workaround:
update project file //#ROGEN:Ts4_types.rodl to //#RO GEN:Ts4_types.rodl so your Ts4_types_intf.h won’t be regenerated automatically
update Ts4_types_intf.h and declare ProximoIntento property as public like
public:
__property NullableDateTime ProximoIntento = {read=fProximoIntento, write=fProximoIntento};
after this, your project should be compiled.
btw, you can use usual Variant instead of NullableDateTime for passing null and usual values.
rgomezc
(Rodrigo Gómez)
May 27, 2026, 6:55pm
3
Thank you Evgeny,
I’ll make your suggested changes. Hopefully we won’t have to fix this manually in the future?
EvgenyK
(Evgeny Karpov)
May 28, 2026, 8:15am
4
Hi,
does it work correctly when property is declared as public?
bugs://D19673 was closed as fixed.
EvgenyK
(Evgeny Karpov)
May 29, 2026, 10:17am
7
Hi,
in .1625 you can add {$DEFINE NULLABLES_TYPES_AS_VARIANT} to RemObjects_user.inc: