For pure exceptions, DLLs are not allowed to cross the boundary of a DLL (such as Deltics ) - no matter what language.
You get all kinds of problems there , especially because you donβt know what language, RTL, memory manager, etc. each side of the border.
So, you are back to the classic error handling paradigm:
Instead of DLLs, you can use BPL packages (as suggested by Lars ): there you know that both sides will use the same RTL and memory manager.
Both packages and the BPL usually give you a nightmare with the version anyway (too many degrees of freedom).
A more rigorous solution is to switch to a monolithic executable; this solves both problems:
- much easier version control
- only one RTL and memory manager is guaranteed
- Jeroen
PS: I made this an optional answer because it makes it easier to insert links.
source share