Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Packages and Libraries
»
How to use unknown external dll?
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
Forum Rules
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Putting a new file on a w...
by
Roland57
[
Today
at 12:04:05 pm]
FastCGI vs. CGI
by
Thaddy
[
Today
at 10:56:40 am]
GTK3 is now the default w...
by
Thaddy
[
Today
at 10:22:34 am]
authentiacte through goog...
by
Thaddy
[
Today
at 09:12:56 am]
[SOLVED] Stopped compilin...
by
CM630
[
Today
at 08:41:58 am]
[CLOSED] Seeking performa...
by
Xenno
[
Today
at 08:11:26 am]
Slow app start on M5 MacB...
by
Thaddy
[
Today
at 08:08:00 am]
Testing Antropic
by
Thaddy
[
Today
at 07:06:58 am]
Lazarus Main not building...
by
Thaddy
[
Today
at 06:31:42 am]
Setting the CURSOR for th...
by
jamie
[
Today
at 02:16:55 am]
Windows 2026_7 update and...
by
jamie
[
Today
at 01:45:40 am]
TPeriodicTable
by
wp
[
Today
at 12:19:25 am]
FPC Unleashed (async/awai...
by
Fibonacci
[July 17, 2026, 08:26:50 pm]
I have made some progress...
by
onionmixer
[July 17, 2026, 08:08:34 pm]
How to connect to MariaDb...
by
jcmontherock
[July 17, 2026, 06:23:38 pm]
This week in OPM!
by
Tomxe
[July 17, 2026, 05:47:11 pm]
Accessing VRAM memory wit...
by
LemonParty
[July 17, 2026, 04:45:30 pm]
KOL4 Beta available.
by
Thaddy
[July 17, 2026, 04:45:13 pm]
docking IDE
by
Martin_fr
[July 17, 2026, 02:13:28 pm]
Engineering Software from...
by
jamie
[July 17, 2026, 12:51:57 pm]
[SOLVED] BitBtn Oddity
by
Petrus Vorster
[July 17, 2026, 09:05:55 am]
Difference between @ and ...
by
paule32
[July 17, 2026, 08:18:43 am]
Lazarus Bugfix Release 4....
by
papillon33
[July 17, 2026, 08:15:45 am]
Many recent books on Laza...
by
Khrys
[July 17, 2026, 06:35:48 am]
Isn’t this funny?
by
n7800
[July 16, 2026, 11:57:09 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: How to use unknown external dll? (Read 3758 times)
DL4OCE
New Member
Posts: 14
How to use unknown external dll?
«
on:
July 03, 2013, 04:04:14 pm »
Hi,
I need to use a DLL but have no documentation on it. I already read about statically or dynamically linking it, and I found out that there a many functions inside that sound good in my ears and should be exactly what I need - the DLL Export Viewer offers lots of useful information on that thing.
But that's all I have. Names and entry points of the functions. No parameter lists, no header files.
The bad thing is that I am expecting the function I need the most to have more than 30 parameters which is far too much to find by trial-and-error
How can I solve this?
Logged
marcov
Administrator
Hero Member
Posts: 12950
FPC developer.
Re: How to use unknown external dll?
«
Reply #1 on:
July 03, 2013, 04:19:14 pm »
Not many options , except find documentation or other code that uses the DLL (in whatever language).
In theory you could try to disassemble, but that is a lot of work, and is typically only the ultimate desperate option.
Logged
ludob
Hero Member
Posts: 1173
Re: How to use unknown external dll?
«
Reply #2 on:
July 04, 2013, 07:02:35 am »
If you are "lucky" you can infer the parameter types from the function name mangling. See
http://en.wikipedia.org/wiki/Visual_C%2B%2B_name_mangling
. But in that case that is where your luck ends because you can't use C++ dll's directly from FPC/Lazarus
Another tiny possibility is that the dll is a COM object and has a TLB embedded. Try the type library import tool (tlimport) to see if it contains a TLB.
Now, 30 parameters for a function doesn't sound as if the dll was written in an object oriented way. If you don't find any documentation or usage example then you are in for a lot of work I would say. Finding the parameter types will be the easy part. FInding out what they stand for is the big challenge.
Logged
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Packages and Libraries
»
How to use unknown external dll?
TinyPortal
© 2005-2018