どっとねっとふぁん

C# Tips And Samples
in 検索

Visual Studio 2005 (C#)で、VB6.0で作られたocxを使用するには?

最新の投稿は、投稿日時: 03-20-2006, 8:42 午後 投稿者: Anonymous です。スレッドには 4 件の返答があります。
投稿のソート: 前へ 次へ
  •  01-31-2006, 4:39 午後 556

    Visual Studio 2005 (C#)で、VB6.0で作られたocxを使用するには?

    久しぶりの投稿ですが、よろしくおねがいします。

    VS2005(C#)から、VB6.0で作られたocxを使いたい場合はどのようにすればよいのでしょうか?

    Windowsアプリケーションのボタンクリックをトリガーにして、
    ラベルプリンタに印刷キューを出すプログラムを作ろうと思っています。
    (このocxファイルはラベルプリンタに同梱されていたメディアにあったものです。)

    英語のマニュアルもついているのですが、ocxの使い方について説明がないので、それはそれで苦戦中です。。。
    そこで、とりあえず
    .ocx ファイルを参照設定してみたところ、エラーもなくオブジェクトブラウザから見ることが出来ました。

    ocxで定義されているメソッド、プロパティはもちろんマニュアル等で調べなくてはいけないと思うのですが、
    そもそも、C#でocxやdllを扱う場合、このやり方で問題ないのでしょうか?

    よろしければ、どなたかセオリー、参考ページ等、教えていただけると助かります。

  •  02-06-2006, 12:43 午後 560 返答元: 556

    Re: Visual Studio 2005 (C#)で、VB6.0で作られたocxを使用するには?

    VS2005で参照設定できた、ということはComとの連携部分が自動的に作成されていると思います。
    オブジェクトブラウザから見れるようになっているのであれば、それを使うのでいいんじゃないでしょうか。

    実際に配置して使うときは、VS2005が作成したCom連携のdll(かな?)を忘れずに配布するようにすればOKじゃないかと思います。

    #このあたりあまりよく知らなかったりするので、詳しい人がいたらフォローして欲しいな。

     


    あおい情報システム株式会社
     小野修司(どっとねっとふぁん)
  •  02-10-2006, 9:41 午後 574 返答元: 556

    Re: Visual Studio 2005 (C#)で、VB6.0で作られたocxを使用するには?

    COMを利用できるのであれば、それで利用してもいいでしょうね。

    ただ、多少パフォーマンスは低下するかも知れませんね。

    マネージ・ラッパー(・・・だったかな)をTlbimp.exeで作成して、それを

    利用する方法もあります。

    詳しくは、Tlbimp.exeをググって・・・と逃げてみる。

  •  02-12-2006, 12:11 午前 577 返答元: 556

    Re: Visual Studio 2005 (C#)で、VB6.0で作られたocxを使用するには?

    OCX(ActiveXコントロール)をWinFormアプリで使用したいのであれば、そんなに難しくありません。

    WinFormのデザイナが選択されている状態で、ツールボックスに新たなタブを追加するか、全般を選択します。

    次に、そこで右クリックをして、アイテムの選択をします。ツールボックスアイテムの選択というダイアログが表示されるので、このウインドウのCOMのタブを選んで、使用したいOCXを選択します。まぁここまでの作業は、VB6でツールボックスにコントロールを追加する作業とほぼお同じです。(用語が違うけど)

    そして、ツールボックスに追加したOCXをWinFormのデザイナでフォーム上に配置した段階で、VSが必要なラッパアセンブラを作成して、そのプロジェクトに組み込んでくれます。

    このようにして組み込んだOCXの使い方は基本的には今までと同じですが、COMのバリアント型と.NETでの型では多少の違いがあることもあるので、注意してください。

    まぁ、あんまり変なOCXだとうまく動かないかもしれませんけど。。


    /*
    * 石坂忠広(Tadahiro Ishisaka)
    */
  •  03-20-2006, 8:42 午後 625 返答元: 577

    Re: Visual Studio 2005 (C#)で、VB6.0で作られたocxを使用するには?

    お答えを頂いた皆様、元質問者です。(大変遅くなりまして申し訳ありません)

    ishisaka様に教えていたやり方で試してみたのですが、
    参照後に何をしてよいかわからず、結局、そのメーカーのプリンタ言語でしこしこ書いて乗り切りました。。。
    (きっと、うまく使いこなせればもっと楽だったんでしょうが・・)

    参考にならないフィードバックで恐縮ですが、今後ともよろしくお願いします。

RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems