DLL's

Started by
5 comments, last by Forcas 22 years, 9 months ago
Hey. I know that if I include resources in a DLL, I won''t have to re-build them every time I modify my code. I tried making a DLL with some resources in it, but instead of producing a DLL, it produced a .lib and a .obj I''m using MSVC++ 6. Is there anywhere where I can learn more about DLL''s? How do I make a DLL file, and how do I use it in my exe? -Forcas "Elvis is alive. He is Barney the purple dinosaur. He is the pied piper that leads our children into the wages of sin and eternal damnation."
-Forcaswriteln("Does this actually work?");
Advertisement
You probably started a static linked library project instead of a dynamic linked library project. A .lib file is just as good in my opinion (actually better if a lot of people aren''t going to need that one library).

To use it in your .exe, you need

LoadLibrary
FreeLibrary
GetProcAddress.

Also, the DLL has it''s own thread, so you can also call that.
Look in MSDN (msdn.microsoft.com). I think if you look up DllExport, you''ll be on the right track. It depends whether you want to load at link time or run time as to how you link and write your project.

I wish I had time to give an example, but I don''t right now unfortunately. Good luck!
The thing is, when I build it, it says resources.dll, built. Then I look in the res directory and the closest thing I can find is a lib file. I''m positive I chose dll in appwizard.

-Forcas

"Elvis is alive. He is Barney the purple dinosaur. He is the pied piper that leads our children into the wages of sin and eternal damnation."



-Forcaswriteln("Does this actually work?");
Check in Project/Settings/Link/General/Output File Name.

Better yet, use ZIP files for res management if you''re doing a game.
VK
ZIP files? How? What are the advantages?

File name:
Debug/betterbedynamix.dll

I build it...... and it isn't there. Maybe it has something to do with the fact that I haven't completely coded my dll source. Does it?

Edited by - Forcas on July 24, 2001 1:02:46 AM
-Forcaswriteln("Does this actually work?");
hmmm... Did you use the option that it should add some example code? If so, add a .def file to the .cpp files and get rid of those dllimport/dllexport defines and the classes... (you won''t be able to use classes then, though...)

In the .def file (a normal .txt file) you define the functions and variables the .dll exports.. (you can find it in the MSDN how to write it exactly..)

to load them in your .exe use LoadLibrary(), FreeLibrary() and GetProcAddress() as mentioned above..

one hint: delete memory where you allocated it.. in other words: If you call allocate memory in a dll function and return a pointer to the .exe be sure to free the memory in a function in the .dll...

In my current project I retrieve function pointers through functions called through function pointers... that''s where it get interesting :o))))))
cya,
Phil

Visit Rarebyte!
and no!, there are NO kangaroos in Austria (I got this questions a few times over in the states
Visit Rarebyte! and no!, there are NO kangaroos in Austria (I got this question a few times over in the states ;) )

This topic is closed to new replies.

Advertisement