GACのアセンブリを呼び出す - Delphi 2005

ここでは、GACのアセンブリをプログラムから呼び出してみたいと思います。今回Delphi .NET で呼び出してみたかったのですが、作成の方法が違うのかもしれませんが、なぜかうまくいきませんでしたので、C#アプリケーションから呼び出しをしています。 まず、新規作成で、C#アプリケーションを作成します。

右側のプロジェクトマネージャーの参照先のポップアップメニューから「参照の追加」を選択し、ダイアログを表示させます。次に、参照ボタンを押し、先ほど作成したライブラリのDLLを追加します。

 OKボタンを押し参照を追加します。続いて、Using部分に、参照したライブラリを追加します。最初の部分を入力すると、コード補完でネームスペースが表示され、参照が正しくできていることが確認できます。ライブラリ作成のときとは少し名前が違うようですがこれで良いみたいです。

 次にフォームの設計ですが、ボタンをひとつ、テキストボックスをひとつ置きます。

 ボタンの、OnClickイベントにコードを書きます。C#らしく、new と ToString() をつかってコードを書いてみました。

 アプリケーションを実行し、ボタンを押します。正しく結果が戻ってきていることが確認できます。

 このとき、実行ファイルのあるディレクトリをエクスプローラなどで開いてみます。もし、このディレクトリに参照したDLLがあるならば、削除してからプログラムを実行してみてください。この場合でも、うまく動作することが確認できます。下の図のように、DLLが同じフォルダに無くてもプログラムが動作 しますので、GACを探してアクセスできていることが確認できます。

ちなみに、全く同じことをDelphiでしてみたのですがコンパイルは通るのですが、実行時エラーが出ました。若干仕様が違うのかもしれません。

次のセクションではCOMで使えるように、タイプライブラリを抜き出してみたり、インターフェイスを明示的に指定してみたいと思います。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2018-02-03
作成日: 2005-01-01
iPentec all rights reserverd.