For me it is not possible to link an C++ Builder XE7 64 bit program that uses FlexCel if the project is not linked with runtime packages. But my projects must not be linked with runtime packages.
The problem can be reproduced very simple.: Add in a form the following lines:
#include <Vcl.FlexCel.Core.hpp>
#include <FlexCel.XlsAdapter.hpp>
#include <FlexCel.Render.hpp>
Remove the check box for 'link with runtime packages' in the project options, that's it.
The error is:
[ilink64 Error] Fatal: Error detected (PDA453)
Is there a solution?
Markus Donath
Hi,
Sorry about last post: while removing the pragmas will indeed make an empty file compile, when you write any code using FlexCel the error reappears. I'll keep investigating.
Yes, I have commented out these lines and the error remains.
Hoping there will be a solution.
I've tried a lot of other stuff but at the end I had to give up. For some reason ilink64 can't link FlexCel. For the time bien the only workaround is to build with FlexCel runtime packages for 64 bits.
Thanks a lot. I hope Embarcadero will find a solution.
Meanwhile I succeeded in compiling my project with runtime packages. The problem is, I have to deploy a lot of bpl-files, but this is ok.
The more serious problem is, the program (a service application) runs now perfectly on my computer where RAD-Studio is installed, but on another machine the program crashes immediately after start even though I copied all the bpl-files into the program directory. Any idea what could the problem here? On the other hand that might be not a problem with FlexCel.
Markus
HI,
The event log says:
Faulting application name: MySvcApp.exe, version: 3.1.2.0, time stamp: 0x00000000
Faulting module name: rtl210.bpl, version: 21.0.17707.5020, time stamp: 0x545bd0a6
Exception code: 0xc0000005
Fault offset: 0x0000000000018742
Faulting process id: 0x1360
Faulting application start time: 0x01d03622577350ad
Faulting application path: C:\MyServices\MySvcApp.exe
Faulting module path: C:\MyServices\rtl210.bpl
Report Id: 96fc962b-a215-11e4-82b5-00155d260315
Faulting package full name:
Faulting package-relative application ID:
And I copied all FlexCel bpl-file and all bpl- and dll-files from Embarcadero's bin64 directory to the program's directory on the other machine.
Could you test it with XE8?
I can't test it myself because FlexCel is not installable on RAD Sudio test versions.
Sorry, I've just checked it and the linker error is still there.
Well, quite late, but just to let you know Embarcadero seems to have fixed the ilink problem in Berlin. I've just tried it, and it compiles fine in x64 without runtime packages.