DLLの作り方
1.DLLプロジェクトを作成します。「クラスライブラリ(.NET Framework)を選べばよいです。
2.試しに、下記のようなプログラムをDLL化してみます。
1 2 3 4 5 6 7 |
Public Class Class1 Function test() As String Return "DLLが呼ばれました。" End Function End Class |
3.ビルド→(対象のソリューション)のビルドを選んでビルドを実行します。
特にエラーがなければ、DLLの作成が完了です。
4.呼び出し側のプロジェクトの参照設定にて、上記で作成したDLLのパスをリンクさせます。
5.呼び出し側のプロジェクトでは、下記のような構文を使えば呼び出すことができます。
1 2 3 4 5 6 7 8 9 |
Module Module1 Sub Main() Dim obj As New DLL1.Class1 Console.WriteLine(obj.test()) End Sub End Module |
また、DLLのソース部分(上記コードで言えば、DLL1.Class1)を選択してコードジャンプしたらちゃんとDLLのソースをVisual Studio上で確認することも可能です。
DLLからさらにDLLを呼び出す場合の注意点
そこそこの規模のシステムであれば、DLLからさらにDLLを呼び出すのが当たり前になるかと思います。
もちろん、それも可能なのですが、その場合は下記の注意点があります。
DLL(DLL①とする。)からさらにDLL(DLL②とする。)を参照する場合は、DLL(DLL①)を呼び出すexe側では、下記どちらかの条件を指定しないとDLL(DLL②)参照エラーになってしまいます。
- DLLが参照しているDLLを直接動かすexeと同階層に置く。
- DLLが参照しているDLLを、本体のexeから別途参照設定をする。
DLLが参照しているDLLの参照先にDLLが置いてあっても動作しないので注意しましょう。
クラスライブラリとは?
DLLの実体です。様々なプロジェクトからクラスを参照できるようにしたもののことです。拡張子は今回作成したように.dllになっています。
今回はVisual Studio2017で解説しましたが、古くからある技術なので昔のDLLでも最新版に互換性があったりします。(もちろん古い環境で新しいバージョンで作られたDLLは動かない場合もありますが。)
この記事へのコメントはありません。