富士通

NetCOBOL 技術情報:ノウハウ情報

NetCOBOL

.NET

Q

Visual StudioのVB.NETなどから、Windows x86版 NetCOBOLで作成したプログラムを呼び出すには、どのようにすればよいでしょうか。

A

以下のいずれかの方法をお勧めします。

  • .NET版 NetCOBOLを経由してWindows x86版プログラムを呼び出す
    この場合、アプリケーションを運用するには、Windows x86版と.NET版の両方のNetCOBOL運用ライセンスが必要となります。
  • プログラムを.NET版 NetCOBOLで翻訳し、.NETアプリケーションとして利用する
    この場合、アプリケーションを運用するには、.NET版のNetCOBOL運用ライセンスが必要となります。また、Windows x86版と.NET版の機能差にご注意ください。

前者の場合、.NETプログラムの動作モードは、呼び出すDLLの実行 プラットフォームと一致している必要があります。例えば、x64システム 上でAnyCPU向けの.NETプログラムを起動すると、そのプログラムはx64 モードで実行されるため、x86向けのDLLを呼び出すことができません。 この場合、.NETプログラムをx86向けとしてビルドし、確実に x86モードで実行されるようにします。
なお、.NET Frameworkのプラットフォーム呼び出し(PINVOKE)を利用する ことで、VB.NETからWindows x86版 NetCOBOLのプログラムを直接呼び出すこと は技術的には可能です。しかし、.NETのデータ型からCOBOLのデータ形式へ の変換や文字コードの変換をアプリケーション側で記述する必要があり、 お勧めいたしません。