Custom rodl struct NullableDouble name conflict with uRONullable.NullableDouble in _Intf.pas after RemObjects upgrade

Need migrate to Delphi 12.
Delphi RemObjects upgrade from 10.0.0.1555 to 10.0.0.1609.

Project rodl file has custom structs NullableInteger, NullableDouble, …
(which cannot be renamed due to existing clients).

There are name conflicts with uRONullable.Nullable…:
E.g. Error: Project_Intf.pas: Incompatible types: ‘uRONullable.NullableDouble’ and ‘Project_Intf.NullableDouble’

Please advise how to resolve this issue

Hi,

Note: Codegen uses special processing for known Nullable* types.

I can suggest:

  • update NullableDouble in RODL with NullableDouble_
  • regenerate all files (_Intf, _Invk)
  • update {#ROGEN:NewProjectLibrary.rodl} line in your .dpr as {.#ROGEN:NewProjectLibrary.rodl}. it will allow to disable autogeneration of _Intf and _Invk
  • comment uRONullable in uses section of _Intf, _Invk, _Impl
  • replace NullableDouble_ with NullableDouble back.

note: this workaround will work until you don’t modify your .RODL. after changing .RODL, you should repeat these steps.

Hi Evgeny

Thanks for workaround.