Hello,
We came across an issue while trying to use Unidac from packages compiled with Delphi 12.1 (Version 29.0.51961.7529) on 64bits windows platform.
At launch, the package tries to resolve a symbol called __init_record_FILENAME,
which, was apparently introduced between Delphi 12 and Delphi 12.1 (in 64bits mode) and prevents loading of all runtime package not compiled with the latest version of Delphi.
As far as I can tell, this issue is not reproduced when unidac bpl are called directly from the .exe but onl y from another RTP.
Here's a package compiled with Delphi 12.0 (patch 1)
and the same package compiled with Delphi 12.1
I've attached a little demo project, build with delphi 12.1, exhibiting the behaviour :
- 32 bits binary should run correctly
- 64 bits binary fails at startup
I'll raise the issue with embarcadero, as it's contradicting their statement regarding minor release compatibility, but it the mean time, you might want to schedule a new build to avoid customer report like mine ^^
Thanks a lot for your time,
Regards,
(edit: 2023-04-12: archive updated with missing vcl rtp)
(edit2: 2023-04-12: updated rtp)