目次

Delphi.NETで作成したライブラリをC#から利用する - Delphi 2007

今まで蓄積してきたDelphiコード資産をC#などの.NET言語から呼び出したい場合もあることかと思います。このページでは、Delphi.NET で作成したライブラリをC#から呼び出す方法を紹介します。

手順

まず、Delphi.NETを起動し、新規作成でパッケージを選択します。(ライブラリでは.NETのクラス情報のメタデータが付加されないようです)


作成したパッケージを MyLib01という名前で保存しました。


次に、「新規項目の追加」でMyLib01パッケージに「クラス」を追加します。


追加したクラスの名前をTMyCalcにし、ユニットをmycalc.pas として保存しました。このユニット名がusingで指定される名前になります。mycompany.math.mycalc.pas といったネームスペースを利用した名前をつけてもよさそうです。


TMyCalcクラスにAddメソッドを実装します。足し算の結果を返す関数です。


パッケージをビルドします。ビルド結果は「パブリックのドキュメント\RAD Studio\5.0\Bpl」に保存されます。(下図参照)


続いて、Visual Studioを起動してC#プロジェクトを新規作成します。.NET Frameworkのバージョンは2.0以上を使います。今回は.NET Framework 3.5のC#プロジェクトを作成しました。


ソリューションエクスプローラの参照設定を右クリックし「参照の追加」メニューを選択します。


参照の追加ダイアログが表示されますので、先ほど作成したMyLib01 パッケージを参照します。


ソリューションエクスプローラの参照設定にMyLib01パッケージが追加されました。


ソリューションエクスプローラの MyLib01ノードをダブルクリックするとオブジェクトブラウザが表示されます。MyLib01内を開くとmycalcネームスペースと、mycalc.Unitsネームスペースがあることがわかります。先ほど実装したTMyCalcはmycalcネームスペース内にあることがわかります。


C#プロジェクトのソースコードを記述します。using 節に mycalc を足します。 ボタンとラベルを1つづつ配置して、ボタンのClickイベントを実装します。 TMyCalcクラスを作成しAddメソッドを呼ぶ処理を記述しました。(下図参照)


実行し、ボタンをクリックすると正しく処理がなされ結果が表示されることを確認できました。


上記手順により、Delphiで記述された処理を.NET環境から呼び出すことができます。

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