IPB

Welcome Guest ( Log In | Register )



Tags
This content has not been tagged yet
 
Reply to this topicStart new topic

Two Ways To Create A Dll(.dll) In Vb.net Part 1

, Shows You How Reference and Create A DLL Part 1


Shadow_x21
no avatar
Newbie
*
Group: [HOSTED]
Posts: 8
Joined: 21-September 08
From: Salinas, California
Member No.: 68,161



Post #1 post Nov 3 2008, 12:18 AM
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.

CODE
Public Class Class1

    Public Function Message(ByVal Msg As String) As Boolean
        MsgBox(Msg.ToString)
    End Function

End 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 Ways
    First - 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

CODE
Imports Sample

Public 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 Sub
End 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... smile.gif It Will Show You Another Way To Create A DLL (I Use This Way More. It's Better For What I Do)

This post has been edited by Shadow_x21: Nov 11 2008, 03:49 AM
Go to the top of the page
+Quote Post
iGuest
no avatar
Hail Caesar!
*********************
Group: Members
Posts: 5,876
Joined: 21-September 07
Member No.: 50,369



Post #2 post Jul 8 2009, 01:28 PM
Two Ways To Create A Dll(.dll) In Vb.net Part 1 - Shows You How Reference and Create A DLL Part 1
Two Ways To Create A Dll(.dll) In Vb.net Part 1

Great post. It allowed me to find the problem with my first dll project very fast. Thanks for the post.  

-reply by Tony Stancil
Keywords: creat dll in vb.net
Go to the top of the page
+Quote Post
iGuest
no avatar
Hail Caesar!
*********************
Group: Members
Posts: 5,876
Joined: 21-September 07
Member No.: 50,369



Post #3 post Aug 10 2009, 12:20 PM
how to add two class in a dll
Two Ways To Create A Dll(.dll) In Vb.net Part 1

how can I include two classes in a third class file. After this I will use the dll of third class which also includes the first and second class.Is it possible if yes than do tell me please

-question by supriya
Go to the top of the page
+Quote Post
iGuest
no avatar
Hail Caesar!
*********************
Group: Members
Posts: 5,876
Joined: 21-September 07
Member No.: 50,369



Post #4 post Oct 22 2009, 01:00 PM
@ Supriya
Two Ways To Create A Dll(.dll) In Vb.net Part 1

I beleive this is possible but the OOP method of encapsulation would be required.

 you shoul be able to hard code a second class right into the one code file perhaps like this:


Public Class father
Public name as string

        Public Class progeny
        public name, gender as string
        End Class

private child1 as new progeny

public sub dysplay

msgbox(name & " has a child. The first child is " & child1.Name & " who is a "& child1.Gender)

end sub

End Class

This could be simply used by the following:

Public Class Form1

Imports father

dim dad as new father

public sub main

dad.Name = "richard"
Dad.Child1.Name = "hanna"
Dad.Child1.Gender = "girl"

dad.Dysplay

end sub

End Class

 Well I may not be right but I think atleast the basic idea is correct, anyways.

Thanks a heap shadow the information on making and using dll's is scarce and scattered but this is very simple and oh-so needed, ive learned alot.

 Thanks
      Nekroze

-reply by Nekroze
Go to the top of the page
+Quote Post

Reply to this topicStart new topic

Collapse

> Similar Topics

    Topic Title Replies Topic Starter Views Last Action
No New Posts   2 CodeName_88 3,492 5th September 2004 - 03:28 PM
Last post by: serverph
No New Posts   6 Plenoptic 1,226 29th December 2007 - 04:50 AM
Last post by: Bruce517
No New Posts 11 lucaas 1,984 20th September 2006 - 10:22 PM
Last post by: qwertyiscool
No New Posts   7 rowita 8,385 27th August 2009 - 04:16 AM
Last post by: jamjamnorman
No New Posts   7 brautigam 2,037 13th August 2006 - 06:05 PM
Last post by: delivi
No New Posts   1 Travis18520 3,101 19th October 2004 - 11:17 PM
Last post by: biscuitrat
No New Posts   4 BoSZ 9,085 21st October 2004 - 09:43 PM
Last post by: Jeremie
No new   20 no9t9 6,544 31st May 2009 - 06:39 PM
Last post by: africa
No New Posts   2 twoq 3,709 7th November 2004 - 05:16 AM
Last post by: Oni_BlueEyes
No New Posts 12 cman500 12,673 25th October 2006 - 02:29 PM
Last post by: jlhaslip
No New Posts   0 ashutosh_malguri 364 22nd July 2009 - 02:14 PM
Last post by: ashutosh_malguri
No New Posts   2 shyam 2,790 24th November 2004 - 09:38 PM
Last post by: SmUX
No New Posts   0 remonit 2,461 15th November 2004 - 08:28 PM
Last post by: remonit
No New Posts 0 pasten 609 27th October 2008 - 07:15 AM
Last post by: pasten
No New Posts 12 odomike 7,468 18th April 2005 - 12:06 AM
Last post by: tonic


 



RSS Open Discussion Time is now: 22nd November 2009 - 10:16 AM

Web Hosting Powered by ComputingHost.com.