【VB】クラスライブラリ(.dll)の作成・使用方法

このエントリーをはてなブックマークに追加

このところ雑記ばかりが続きましたので、久し振りに開発関係の備忘録をば。
汎用可能な関数群をクラスライブラリ(.dll)化しておくと、他のプロジェクト(他のプログラム)からでも手軽に関数を参照利用することができるようになります。プロジェクトごとにいちいち関数を記述する必要がなくなるので、プログラミングの労力を軽減したり、コードを簡略化する効果などが期待できます。
今回はVisual Studio(VB)にてこのクラスライブラリを作成・利用する方法を検証しましたので、備忘録としてまとめておきます。

環境:Windows7, Visual Studio Express 2012Visual Basic )

――――――――――――――――
①クラスライブラリ(.dll)の作成
――――――――――――――――

1)Visual Studioのメニューの『ファイル』→『新しいプロジェクト』から、『クラスライブラリ』というテンプレートを選択して、『SampleLibrary』の名前でプロジェクトを作ります。(プロジェクト名はあくまサンプルなので、自由なものでOK)

クラスライブラリ用のプロジェクトを作成

2)SampleLibraryの下にあるClass1.vbというvbファイルに、クラスライブラリ化する関数を記述していきます。(以後の話をわかりやすくするため、ここではClass1.vbをCommon.vbとリネームしておきます)

『SampleLibrary』プロジェクトの下に、『Class1.vb』ができている

3)クラスライブラリ化するコードの記述します。ここでは文字列を返すだけの単純なものとします。
――――――――――――――――――――――――――――――――――――――――
Function returnString() As String
Return “クラスライブラリ化のサンプルプログラムです。”
End Function
――――――――――――――――――――――――――――――――――――――――

サンプルプログラムを作成

4)メニューの『ビルド』→『ソリューションのビルド』を選択し、ビルドを行う。エラーがなければ、クラスライブラリ化(dllファイルの作成)は無事完了です。
エクスプローラーでプロジェクトを確認してみると、~SampleLibrary\SampleLibrary\bin\Debugのフォルダに、『SampleLibrary.dll』というファイルができあがっていると思います。これが、クラスライブラリです。

――――――――――――――――――――――――――――――
②作成したクラスライブラリを、他のプロジェクトから利用する
――――――――――――――――――――――――――――――

1)クラスライブラリを利用するプロジェクトを作成します。テンプレートを『コンソールアプリケーション』にして、『SampleProject』という名前でプロジェクトを作成。(プロジェクト名はあくまでサンプルなので以下略)

クラスライブラリを利用するプロジェクトを作成

2)今度はプロジェクト下にModule1.vbというファイルが作られるので、SampleProject.vbとリネームしておきます(まあサンプルなのでここまでやる必要はないのですが、名前は統一されていた方が気分がいいですよね……^^;)

3)ソリューションエクスプローラーにあるボタンから、『すべてのファイルを表示』というボタンをクリックします。すると『参照設定』という項目が表示されるので、ここに「さっき作ったSampleLibrary.dllを参照するよ」という設定を加えてやれば、晴れて先ほど作成したクラスライブラリを自由に利用できるようになります。

『すべてのファイルを表示』をクリック『参照設定』という項目が表示されるようになる

4)『参照設定』を右クリックし、『参照の追加』を選択します。なにやらたくさん項目が出てきますが、今回は関係ないので、とりあえず右下にある『参照』ボタンをクリック。するとファイルを選択するダイアログが出てきますので、~SampleLibrary\SampleLibrary\bin\Debugのフォルダにあるdllファイルを選択します。

『参照』ボタンをクリックし、作成したdllファイルを選択

5)『ブラウズ』の『最近使用したファイル』のところに、選択したdllファイルが表示されます。チェックボックスにチェックが入っているのを確認して、『OK』を押せば、参照設定のところに『SampleLibrary』が追加されます。

選択したdllファイルが表示される『参照設定』にdllファイルが追加される

6)追加されたSampleLibraryのプロパティで、『ローカルコピー』という項目がTrueになっているかどうか確認しておきましょう。あとで説明しますが、独自に作成したクラスライブラリを使用するために必要な設定です。

『ローカルコピー』がTrueになっていることを確認しておく

さてここまで済みましたら、晴れてクラスライブラリ化した関数を使用できます!
使用法は、VBで他の関数を使う時となんら変わりません。①では、SampleLibraryのプロジェクトの下にCommonというクラスを作成し、そこに関数を記述しました。なので、まずはSampleLibrary.Commonのオブジェクトを作成。そしてオブジェクトを通して関数呼び出し。これだけです。
それでは図のような簡単なプログラムを作成しまして、『開始』ボタンをポチッと。

クラスライブラリを利用するサンプルプログラム

――――――――――――――――――――――――
Module SampleProject
Sub Main()
Dim obj As New SampleLibrary.Common
Console.WriteLine(obj.returnString())
System.Threading.Thread.Sleep(3000)
End Sub
End Module
――――――――――――――――――――――――

クラスライブラリ内の関数から受け取った文字列が、コンソールに3秒間だけ表示されます。クラスライブラリの関数を使用できていることが確認できます。

①-(3)で作成した関数から返された文字列が、コンソールに表示される

ちょっと長くなってきましたので、今回はひとまずここまで。
次回、これにより~SampleProject\SampleProject\bin\Debugのフォルダに作成されたexeファイルとdllファイルのフォルダ配置方法(インストール方法)について、改めて続きを書きたいと思います。
②-(6)で触れた『ローカルコピー』についても、その時に……ということで。
それでは。

2013年12月24日 | カテゴリー : VB.NET開発 | 投稿者 : youchin