質問者
VB .NET でCOMサーバー

質問
すべての返信
-
諸農です。
こちらのドキュメントが参考になるかと思います。
.NET Framework 開発者ガイド「高度な COM 相互運用性」
http://msdn2.microsoft.com/ja-jp/library/bd9cdfyx.aspxCOM相互運用機能の利用
http://codezine.jp/a/article.aspx?aid=429もしかしたらCOBOL呼出の事例は案外多かったりするのかもしれませんが、個人的にはあまり聞いたことがないです。
-
お書きなった事から推察するに、.NETのWindows Formで造ったコントロールをCOBOL上からOCX(ActiveXコントロール)として使いたいと読めるのですが、それに関してはほぼ無理です。
.NETを使ってUI無しのActiveX DLLを造ることは出来ますが、UI付いたCOM DLLであるActiveXコントロールを造ることは出来ません。少なくともVisual Basicでこれをやることは無理だと思います。仕様上そうだと思っていただいてかまいません。
.NETのWindows Form上でActiveXコントロールが使用できるのは、それを可能にする仕組みがWindows Form側にあるからなのですが、そのCOBOLの処理系にこれと同じような.NET のWindows Formで造られたコントロールをホストする機能が無ければ、VB.NETで造ったコントロールをCOBOLのプログラムから使用することは出来ません。
-
ishisaka 様、ご教授ありがとうございます。
私の説明不足でした。.NETのWindows Formで造ったコントロールをCOBOL上からOCX(ActiveXコントロール)として使いたいということではありません。
.NETのWindows Formで作ったFormを呼び出す機能をもつCOMを作り、COBOLから呼び出すという意味です。
VB6であれば対象のCOMを参照設定し、CREATEOBJECTで呼ぶようなイメージをCOBOLで行なおうとしております。
Kazutaka Morono様が教えてくださった、
COM相互運用機能の利用
http://codezine.jp/a/article.aspx?aid=429を勉強してみようと思っております。
今回は私の説明不足で紛らわしかったと反省しております。またのご指導よろしくお願いいたします。
-
Kazutaka Morono様、ご教授ありがとうございます。
http://codezine.jp/a/article.aspx?aid=429が私の目的のイメージに近いかと思います。
これから勉強して具現化してみようと思います。まずはご報告まで。このたびはありがとうございました。
-
Kazutaka Morono様のご教授いただいた下記記事を参考にプロトタイプの製作を行なっております。その上で、COMクライアントから文字列の引渡し(受け)を行なうにはどのような記述が必要なのか、どなたかご教授いただければ幸いです。
再三お手数ですが、よろしくお願いいたします。
COM相互運用機能の利用
http://codezine.jp/a/article.aspx?aid=429