Unidac 10.1 (in)compatibility issue with Delphi 12.1 in 64bits mode

Unidac 10.1 (in)compatibility issue with Delphi 12.1 in 64bits mode

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)