// JP opened flex table

Click to See Complete Forum and Search --> : Dll loading problem


hb_harshad
June 29th, 2008, 04:00 AM
We have one app.exe which is
1. Implicitly linked to X Library
1.1 X library is implicitly linked to Old version of b.dll
2. Expilictly linked to Y Library
2.1 Y library is implicitly linked to New version of b.dll

Now problem is when we call a fuction TestY from Y.dll.It should call Fun1() from new version of b.dll, but it's calling Fun1() from old version of b.dll.
Can anybody please explain us why it's happening?Please provide us a solution if any.

We have mentioned it in attached screenshot.

Paul McKenzie
June 29th, 2008, 07:21 AM
We have one app.exe which is
1. Implicitly linked to X Library
1.1 X library is implicitly linked to Old version of b.dll
2. Expilictly linked to Y Library
2.1 Y library is implicitly linked to New version of b.dll

Now problem is when we call a fuction TestY from Y.dll.It should call Fun1() from new version of b.dll, but it's calling Fun1() from old version of b.dll.
Can anybody please explain us why it's happening?Windows does not load two versions of the same DLL per application. Only one version of b.dll is loaded. Whichever version Windows finds first is the one that's loaded.

Regards,

Paul McKenzie

VladimirF
June 29th, 2008, 01:16 PM
Can anybody please explain us why it's happening?Please provide us a solution if any.Paul alredy explained why.
I would suggest to try:
1. If that b.dll is backward-compatible, just remove the old version.
2. If #1 doesn't work - rename one of the copies of that b.dll and relink your module.

hb_harshad
July 1st, 2008, 05:01 AM
Hi,

Thanks for replying, but is their any other way to solve this problem.

Regards,
Harshad.

MrViggy
July 1st, 2008, 12:37 PM
No. Windows will load only one named DLL.

Viggy

//JP added flex table