目次

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

目次

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

手順

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

作成したパッケージを MyLib01という名前で保存しました。
Delphi.NETで作成したライブラリをC#から利用する:画像2

次に、「新規項目の追加」でMyLib01パッケージに「クラス」を追加します。
Delphi.NETで作成したライブラリをC#から利用する:画像3

追加したクラスの名前をTMyCalcにし、ユニットをmycalc.pas として保存しました。このユニット名がusingで指定される名前になります。mycompany.math.mycalc.pas といったネームスペースを利用した名前をつけてもよさそうです。
Delphi.NETで作成したライブラリをC#から利用する:画像4

TMyCalcクラスにAddメソッドを実装します。足し算の結果を返す関数です。
Delphi.NETで作成したライブラリをC#から利用する:画像5

パッケージをビルドします。ビルド結果は「パブリックのドキュメント\RAD Studio\5.0\Bpl」に保存されます。(下図参照)
Delphi.NETで作成したライブラリをC#から利用する:画像6

続いて、Visual Studioを起動してC#プロジェクトを新規作成します。.NET Frameworkのバージョンは2.0以上を使います。今回は.NET Framework 3.5のC#プロジェクトを作成しました。
Delphi.NETで作成したライブラリをC#から利用する:画像7

ソリューションエクスプローラの参照設定を右クリックし「参照の追加」メニューを選択します。
Delphi.NETで作成したライブラリをC#から利用する:画像8

参照の追加ダイアログが表示されますので、先ほど作成したMyLib01 パッケージを参照します。
Delphi.NETで作成したライブラリをC#から利用する:画像9

ソリューションエクスプローラの参照設定にMyLib01パッケージが追加されました。
Delphi.NETで作成したライブラリをC#から利用する:画像10

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

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

実行し、ボタンをクリックすると正しく処理がなされ結果が表示されることを確認できました。
Delphi.NETで作成したライブラリをC#から利用する:画像13

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

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2007-01-01
Copyright © 1995–2025 iPentec all rights reserverd.