DLL Functions/Procedures

Hi All.

Ages ago I had a program which could tell you what functions and procedures were inside a DLL, plus what parameters were required, and what types were returned.  Can anyone think of a similar application?  I am in desperate need of something like this quickly as I am writing an interface for another application and the only communication methods I have is via DLLs :(

Thanks for any help

Stuart.
LVL 6
Stuart_JohnsonAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

simonetCommented:
Hello, Stuart!

I've seen programs that can tell what functions are inside a DLL, but I have never seen a single application, not even the best disassembler around, that can tell you what the parameters are for the functions in the DLL.

I believe I have some code laying around on my HDs that allows you retrieve the functions in a DLL... I'll be looking for it and get back to you soon. However, as I said, don't hold your breath waiting for code that can give the parameters of the functions.

Alex
0
Stuart_JohnsonAuthor Commented:
Bummer.  Thanks anyway mate.  If you can find something, let me know.  That would be a good start just finding the function/procedure names out.

Stu.
0
philipleighsCommented:
You can see function names by looking at the export table in QuickView.

Cheers,
Phil.

0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Stuart_JohnsonAuthor Commented:
QuickView, or QuickView Pro?  Because my QuickView doesnt find any exports at all in the DLL.  I know QuickView Pro used to.

Stu.
0
philipleighsCommented:
Hmm, don't know about that.
I just right click in explorer on a dll, and click Quick View.

The version I have is the one that came with the NT4.

I think it is possible for a dll to expose functions but not list them in the export table. Maybe this is what you're seeing?

Phil.

0
Stuart_JohnsonAuthor Commented:
Mmm.  I dont know.  Maybe the version of QV for NT is better than the standard distributed copy of QV 95.  Just a wild stab in the dark.

I think I may have QuickView Pro floating around somewhere.  I'll see if that does anything.

Thanks for the comments, Phil.
0
kotikCommented:
Hi, Stuart

You can use TDUMP.EXE application to get exported functions. You can find it in <DELPHI_DIR>\BIN
Maybe it can help you, but sometimes it doesn't show any func in Export section.

Regards,
Kot  
0
TOndrejCommented:
download GExperts source code, there's a good component for the PE Info wizard
http://www.gexperts.com/gexperts/
0
ZifNabCommented:
mmmm, I've seen something around, maybe this can help?

http://www.torry.ru/samples/samples/vers_src.zip

It's for D1, dough... and I'm totally not sure if this gives the opertunity to detect the functions/procedures.

I'll look further.

Zif.
0
rpoCommented:
PE executables (Dll, EXE) do not hold information about imported/exported functon parameters but they hold lists of those functoins which include index and (optionally) functoin names.
This information can be retreived using Quick View Plus or much more informative Dependency Walker by Steve P. Miller. It shows all available information in PE header.
Tthis program is copyrighted by Microsoft but is free. I do not know where it's possible to get it but i can send it by request.
0
simonetCommented:
Stuart, did you get my e-mail with the link to DLLView?
0
Stuart_JohnsonAuthor Commented:
rpo.  Can you upload it for me?  Its probably easier than e-mailing to me.  FTP:  203.56.189.3  Its just an annonymous login.  Stick it in /Stuart

Cheers,

Stu
0
Stuart_JohnsonAuthor Commented:
rpo.  Cancel that mate. The FTP server has just gone down :(  Can you please email it too me if it isnt too big (5mb limit unfortunately).  stuartj@futureschool.com.au

Thanks a million.

Stu.
0
simonetCommented:
Oh... I thought you wanted to find the functions in the DLL through code. I didn't think a standalone application would do it for you.

I believe I have some standalone application here too. Hold on...

Alex
0
Stuart_JohnsonAuthor Commented:
Alex,

Your program is fantastic.  Dont bother looking for anything else.  The code alone is brilliant.  I can change it to suit what ever task I am doing.

I am just giving 'rpo' the oppotunity to send me something as well seeing as though he offered to do so.

Thanks a lot.

Stu.
0
Stuart_JohnsonAuthor Commented:
Alex,

As I have finished the project now and your app worked perfectly - it actually gave me more info than I needed with the inclusion of the source code, could please post an answer for me so I can grade you (with a 'D' <G>).

Thanks mate.


Stu.
0
simonetCommented:
Good! I am glad it helped!

Good luck, Stu!

Alex
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Stuart_JohnsonAuthor Commented:
Thank you, Alex.  Much appreciated.

Roman.  Thank you as well for the effort you put in.  I appreciate you sending me the program.  However, the code that Alex sent me not only did the job for me, it also gave me some information on how to access DLLs a bit better.

Thank you all.

All the best.

Stuart
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.