Solved

Windows VStudio 6 resolving symbols in DLL vs a .lib

Posted on 2009-07-13
3
763 Views
Last Modified: 2013-12-29
I received a new version of a .lib and a .dll file from someone who has proprietary code we are not permitted source access to. I am using VStudio 6 with Fortran and am trying to resolve a symbol I know is contained within the newly supplied .dll file.

I know this because I executed

dumpbin /exports xxxx.dll

on it and the function I am trying to call is in the list of functions exported by the .dll

I can link against the .lib file but when I executed the program I get an

"The procedure entry point kvpcrypt3 could not be located in the dymnamic link library xxxx.dll


Am I missing something about how symbols within a dll get resolved? Do I need to do some kind of "install" of the dll. I simply rename the old xxxx.dll to xxx.dll_old and put the new .dll in its place in the same directory. Thanks in advance for assistance

0
Comment
Question by:smmsmm57
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 3

Expert Comment

by:rmconard
ID: 24842972
Could be your programming environment.

If the DLL was developed in a WinXP environment using code and symbols only recognized by Windows NT/XP class computers, or done with software that only works on those computers, then trying to use the DLL on a Windows 95 machine simply won't work.

I'd get with the original programmer and ask then what they used to create the DLL and if any other resources or libraries are required to make it work.

But if you can't get the source code, you're fighting a losing battle.

-Ryan
0
 

Author Comment

by:smmsmm57
ID: 24843188
I don't know how Win 95 Operating system got "tagged" here......both enviroments are XP....

In the past they have used the same resources to create libs/dlls that have worked fine, I am under the impression I have to do something like "regsvr32 xxx.dll" so as to have the exe find the correct dll (and thereby the new routine within it).....

0
 
LVL 3

Accepted Solution

by:
rmconard earned 500 total points
ID: 24843300
Oh, lol. Yea, I was pretty amazed you even got VS6 to run on Windows 95... all well.


But yes, you're right. You need to register the DLL with Windows so VS knows how to handle it. There is also code available (i've used it before) that can pull data from a DLL without registering.

Look on PSC for the source.

www.pscode.com and search under VS6.


-Ryan


0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are many software programs on offer that will claim to magically speed up your computer. The best advice I can give you is to avoid them like the plague, because they will often cause far more problems than they solve. Try some of these "do it…
This article helps those who get the 0xc004d307 error when trying to rearm (reset the license) Office 2013 in a Virtual Desktop Infrastructure (VDI) and/or those trying to prep the master image for Microsoft Key Management (KMS) activation. (i.e.- C…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question