Visual Basic 中学校 > Visual Basic サンプル集 > Visual Basic サンプル集目次 >
クラスを動的にロードする
1.フォームにドライブリストボックスを動的に追加する
通常はドライブリストボックスをフォームに追加するには事前にVB6互換クラスを参照設定する必要がある。ここではこれらの処理をすべて動的に行う。
Dim DLLPath As String '対象のクラスが宣言されているDLLファイルのフルパス
Dim ClassName As String '対象のクラスの完全名(例:System.String)
Dim Handler As System.Runtime.Remoting.ObjectHandle
Dim o As Object'▼クラスのインスタンスを取得
DLLPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Microsoft.VisualBasic.Compatibility.dll"
ClassName = "Microsoft.VisualBasic.Compatibility.VB6.DriveListBox"
Handler = Activator.CreateInstanceFrom(DLLPath, ClassName)'▼ラップを解除
o = Handler.Unwrap'▼基本的なプロパティの設定
o.Name = "DriveListBox1"
o.Visible = True'▼フォームに追加
Me.Controls.Add(o)メモ:
・この例は.NET Framework 1.1を利用しています。.NET Framework 1.1がインストールされていないなどの理由で利用できない(または利用したくない)場合は変数DLLPathの値を適切なものに変更してください。
→以下のサンプルでは.NET Frameworkのインストールパスを取得することができます。
VB6では読み込み可能なクラスはすべてActiveXですのでここでいう「クラスを動的にロードする」という考え方があてはまりません。ActiveXを動的にロードするにはCreateObject関数やGetObject関数を使用します。