最終更新:2008-07-07 (月) 05:23:25 (5744d)
遅延バインディング
Top / 遅延バインディング
遅延バインディングを行うには、対象となるオブジェクトで特別な COMインターフェイス IDispatch が実装されている必要がある
VB6ならVariant型、VB.NETならObject型の変数に何でも入れて、そこに入ったオブジェクトのメソッドなどを呼び出すために使われる
コンパイル時にオートメーション コードの完全性をチェックできなくなり、メソッドやプロパティの適切な呼び出しを支援する Intellisense 機能が提供されないという欠点もあります。
DLL呼び出し
Win32 APIのLoadLibrary関数とGetProcAddress関数により指定されたDLLの関数のアドレスは取得できますが、このアドレスで関数にアクセスする方法が.NETにはありません。そこでこの部分は他のDLLでやってもらうことにします。それがここではInvoke.dllのInvokeFunc?関数ということになります。ちなみにこのInvokeFunc?関数と同じ機能のものに、msjava.dllのcall関数がありますが、msjava.dllはWindows XPにはインストールされていないとのことです。
- LoadLibraryとかと組み合わせる
- DllImport