I'm trying to use a 3rd party object file in my 64 bit Delphi app, however it simply crashes.
Including their mod64.obj
compiles and links OK and the functions in the obj can be called, but then the code crashes. The mod64.obj
was assembled with MASM (v9)
I raised this with the 3rd party app developer, they downloaded the community edition of Delphi to test and this is their response:
The problem seems to be that the 64 bit linker in Delphi is not honouring the exception frames that the object module exports and imposing its own exception handler. This does not correctly handle the internally generated exceptions in our module and causes the function to crash. I've tried this building for debug and non-debug and experimented with such compiler and linker options as seemed like they might have an effect but to no avail and now I am stuck. I can see that none of our frames end up in the .pdata section of the compiled Delphi 64 bit executable.
So my question is, are there some compiler settings that are required to make this work?