Does RTTI and exceptions work in dlls on windows?

Benjamin Thaut via Digitalmars-d digitalmars-d at puremagic.com
Tue Nov 25 10:39:57 PST 2014


Am 24.11.2014 19:20, schrieb MrSmith:
> 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?

Dlls are generally broken on windows. If you hack around in druntime 
(e.g. the casting routines) you can get it to work to some degree, but 
you are going to be happier if you just stay away from it.


More information about the Digitalmars-d mailing list