eric pouech eric.pouech@wanadoo.fr writes:
well, I think we need to differentiate two things:
- circular deps in normal imports
- circular refs of DLLs for delayed imports
I consider that both are wrong. I think it's important to maintain proper layers and ensure that dll dependencies always go in one direction. Of course this is not always possible thanks to Microsoft design (or lack of it); but in the cases where we need to hack something I want it to be very explicit that something unusual is going on.
If we make it so that any dll can easily import any other one, we'll quickly end up with an inextricable mess of cross-dll dependencies, simply because adding an import in the spec file for any dll that you may need is so much easier than having to use GetProcAddress and think about minimizing inter-dll calls because they are a pain to do.
So there aren't really technical reasons we cannot do it, the issue is enforcing a structure by not making it too easy to do things the wrong way.