On Thursday, 27 November 2014 at 11:24:45 UTC, Martin Nowak wrote:
On 11/24/2014 07:20 PM, MrSmith wrote:
I've got little test here
https://gist.github.com/MrSmith33/8750dd43c0843d45ccf8#file-sharedmodule2-d-L17-L29.
I have one application and two dlls. Application loads both
dlls, calls
their factory functions and then passes each IModule instance
that it
got from factories to those modules.
Modules then try to cast those IModule refs back to their real
interfaces (ISharedModule1) but i am getting null there.
A have found a workaround for this by returning a void*
pointer to real
interface and it back when needed.
Another, and more major issue is, that when exception is thrown
application fail immediately.
Is it broken on windows, or it is me doing it wrong?
On Windows we currently only support static linkage of phobos
and druntime. DLLs do work as long as each one is isolated,
once you start exchanging data across DLL boundaries you run in
ODR issues.
We need to make phobos itself a DLL to solve this, but that's
quite a lot of work.
Can you suggest a good way to design mod system? Where each mod
can depend on others and use their real functionality. All mods
should be in form of dlls.
Another question is: What dll features are currently supported on
linux and what they should be idealy? How do i use them?