"David H. Lipman" <dlip...@verizon.net> wrote:

> The problem occurs when an EXE loads DEPENDENT.DLL version X and is now
> loaded in memory.  Then a second application loads that wants the same DLL
> but expects version Y.  Since the DLL is loaded in memory the second
> application loads without error.  However since version X is loaded not
> version Y when the second application makes a call to a DLL function it
> does not return what is expcted and then second application either does
> not work correctly or it generates an error message.

So... the OS is loading DLLs into shared memory.  One could get around this
if there was a way, before starting one's app, to load specific DLLs into
the process's own memory, so that when the app attempts to load the DLL it
(or more accurately the OS, I suppose) would see the local copy and return
its load address.


>If it is a case where an EXE loads DEPENDENT.DLL version X and then exits, 
>the DEPENDENT.DLL is unloaded.  If it is a case where an EXE loads 
>DEPENDENT.DLL version X and stays resident, then you may have problems.

I see.

-- 
Jeremy C B Nicoll - my opinions are my own.

Reply via email to