.Net Gateway(オブジェクトゲートウェイ)で外部DLLを使用する方法を教えてください

① まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。

② ① のプロジェクトをコンパイルし、DLLを作成します。

③ 管理ポータルでオブジェクトゲートウェイを作成します。

  システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ
  ゲートウェイ名 : testGateway
サーバ名 / IPアドレス : 127.0.0.1
ポート : 55000
(後はデフォルト)

④ testGateway を開始します。
※管理ポータルから、もしくはコマンドから開始できます。
 

  do ##class(%Net.Remote.Service).StartGateway(gateway.Name)


⑤ 以下のいずれかの方法でDLLを呼び出すプロキシクラスを作成します。
a. コマンドで作成する場合
 

     set dllPath="C:\temp\TestDll.dll"
     do ##class(%Net.Remote.Gateway).%ExpressImport(dllPath, 55000, "127.0.0.1")


b. スタジオで作成する場合
 [ツール] - [アドイン] - [.Net ゲートウェイウィザード]

⑥ 以下のような手順でコードを実行します。

例: 

  Set gateway=##class(%Net.Remote.Gateway).%New()
   set host="localhost"
   set port=55000
   set namespace="USER"
   set timeout=2

   Set classPath=##class(%ListOfDataTypes).%New()
   Set samplePath="C:\temp\TestDll.dll"
   Do classPath.Insert(samplePath)
  Set status=gateway.%Connect(host,port,namespace,timeout,classPath)
   write !,"status: ",status
   set cl=##class(TestDll.MyDllClass).%New(gateway)
   do cl.test(gateway)


⑦ 最後の行の do cl.test(..) は、VisualStudioで作成したクラスライブラリの関数になります。

呼び出し引数は、⑤で作成したプロキシクラスに従ってください。


該当する製品: Caché, Ensemble, HealthShare/Caché Based, IRIS Data Platform, HealthShare/IRIS Based, IRIS for Health
関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る