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のデータ形式へ
の変換や文字コードの変換をアプリケーション側で記述する必要があり、
お勧めいたしません。
