Note - I Used VB.net but I Think It Works The Same In Other Languages. Please Let Me Know If It Doesn't. Thanks
Hi Everybody, This Tutuorial Was Created By Shadow_x21 (_x21)
Part 1 - This Tutorial Will Show You How To: Create A Class Library [ Also Called A DLL(.dll) File ]
Reference A Class Library In The Same Or Other Project
Advantages To Creating A DLL Is That You Can Reference It (Use It) In A .Net Framework Language(Visual Basic, C#, C++, ect.). This Means That You Can
Create A Procedure ( A Simple One That ) and Save It As A DLL, Create A New Project In Whatever Langage You Use and Use That Same Procedure.
Note: I Have Not Tried Referencing A DLL In Any Language Other Than VB.net. I Just Create A DLL And Use It In Other Projects With Visual Basic. I Have Heard
That You Can Reference A DLL In Other Language Like C# Though, So Hopefully That Is Correct.
* To Create A New Class Library(.dll) In VB.net Follow These Steps.
- 1( Start Visual Basic.
- 2(Goto Create Project(Create...)
- 3(Choose "Class Library" Instead Of Windows Application and Name It Whatever You Want (Something Related To Procedures That Your DLL Will Hold)
* Inside Of Your Class Create A Sample Procedure : You Can Use The Procedure Below If You Can't Think Of One Or If Your New To VB.NeT.
Public Class Class1 Public Function Message(ByVal Msg As String) As Boolean MsgBox(Msg.ToString) End FunctionEnd Class
* Alright, I Created A Class Library Called "Sample" With A Class Called "Class1"- I Created A Function (Like A Sub) Called Message
- I Added "ByVal Msg As String" Which Means I Declared A Variable Called Msg That Will Have A Value Of String/Text
(English = ByValue Msg As Text : The Value Of Msg Equals Text/String)
- The "As Boolean" After The Function Is Required So That The Function Will Work On All Levels
- The "Msgbox(Msg.ToString)" Creates A MessageBox At Runtime (When The Program Runs) With The Value Of Msg
I Use "ToString" Just In Case The String Contains Numbers(Integers) Or Other Characters
* Now To Save Your DLL Goto File > Save All and Then Choose Your Directory
After You Save Your Project You May Want To Build It To Ensure A Final Version(You Can Build It Again Later) Goto Build > Build "Name Of Your Project"
* It Is Important To Keep The Project That Was Used To Create Your DLL So You Can Edit It Later To Make Changes
* Also : Don't Move Your DLL Directly From It's Saved Folder. Instead Just Copy & Paste It Where You Want It
- Referencing A DLL(.dll) or Class Library
- Create A New Project And Choose "Windows Application" Instead Of A "Class Library"
( Now To Reference Your DLL, You Can Use The Same Project, An Exististing Project, or a New Project )
- In Visual Basic You Can Reference A DLL Two WaysFirst - Goto Project > Add Reference... ( A Window Shold Pop-Up. Goto Browse and Look In The "Debug" Or "Release" Folder )
- Example URL/Path Of DLL
"Documents\Visual Studio 2005\Projects\Sample\bin\Debug\Sample.dll"
"Documents\Visual Studio 2005\Projects\Sample\bin\Release\Sample.dll"
Second - You Can Also Double-Click On "My Project" In The"Solution Explorer" At The Right
Go To "References" and Click "Add" Below The WhiteBox. Then Follow The Same Steps As The First
* Add One Button To Your Form
* Add One Textbox To Your Form
Now Double-Click Your Button and Use This Code To Reference The DLL You Made Earlier
* Your Code Should Look Somewhat Like The Code Below
Imports SamplePublic Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Hi As New Sample.Class1 Hi.Message(TextBox1.Text) End SubEnd Class
* What I Did Was Add A Button and Textbox To My Form. When The Button Is Pressed It Uses The Message Function,
Grabs The Text From The Textbox And Puts It In The MessageBox That Will Be Displayed.
* How It Works, Code Wise - - I Imported, as you can see, my project called "Sample". If Your Project Doesn't Show Up When You Type "Imports"
- Then You Did Not Reference Your DLL Correctly or Your DLL Is Not Compatible (or you just screwed up your dll somehow)
- Next I Accessed My Button's Click Event. Here I Wrote The Code That Will Be Run Using My "Message" Function As Created Earlier
- Here I Created A Variable That Will Have The Value Of "Hi" As New Sample.Class1
- For DLL's and Alot Of Other Functions (As You Will Find Out Later On In Your Coding Life) You Cannot Access There Events/Controls Directly
You Have To Create A New Instance Of Them And Apply/Bind It To A Variable. Then You Can Access It's Events and Controls
- Now, With The New Variable That I Have Defined, I Can Access Sample.Class1 Events Thus Allowing Me To Use The "Message" Function That I Created Earlier.
- Remember When I Created The Variable "Msg" In My DLL Earlier. That Variable Was A Part Of The "Message" Function. "Msg's" Value Will Be Set To That
Of The Textbox's Text. That Means When The "Message" Function Executes, Msg's Value Will Be The Textbox's Text. Then A MessageBox Will Appear Containing
The Text In Textbox1.
Thank You For Reading This. Hopefully You Enjoyed and Understood It.
For ?'s and Comments Post It or E-Mail Me At Shadow21son@yahoo.com
EDIT - 11/10/07: I Took Out The Link To My Site Cause' It Sucks. I Might Put Back Up In A Week Or Two.
Part 2 Will Be Out Soon... It Will Show You Another Way To Create A DLL (I Use This Way More. It's Better For What I Do)