none
VisualC++で簡単なクラスライブラリを作りVisualBasicより利用する方法をどなたかお教え下さい RRS feed

回答

  • VS2008 で選択できる C++ のプロジェクトのうち、「クラスライブラリ」は C++/CLI を使ったマネージアセンブリが作成されます。
    C++/CLI はネイティブクラスとマネージクラス両方を定義できますが、VB や C# で利用できるのはマネージクラスのみです。
    マネージクラスは ref class キーワードを使って定義できますが、さすがに C++/CLI の解説は掲示板じゃ無理なので適当なサイトとか本とか調べてください。
    • 編集済み Hongliang 2009年6月6日 4:37
    • 回答としてマーク sk7474 2009年6月19日 8:57
    2009年6月6日 4:21
  • 以下のサイトが参考になりませんか?

    アンマネージ DLL 関数の処理
    http://msdn.microsoft.com/ja-jp/library/26thfadc.aspx

    • 回答としてマーク sk7474 2009年6月19日 8:57
    2009年6月6日 5:12

すべての返信

  • 製品名は正しく書きませんか?
    (Visual C++、Visual Basicであり、Visual Studio C++ではない。Visual StudioはVisual C++、Visual Basic等を含む総称)

    現状、どこまでできているのでしょうか?
    全くできていないところから、1から教えるのは大変なので、下記のようなところを教えて下さい。

    ・どこまで調べたのか? (参考にしたサイトがあればそのURLも)
    ・どこまで試したのか?
    ・何がうまくいかなかったのか?
    ・どのようにうまくいかなかったのか、エラーが出たのであればどんなエラーか?
    ・可能であれば、自分の書いたコードの問題部分は書き出す。
    解決した場合は、参考になった返信に「回答としてマーク」のボタンを利用して、回答に設定しましょう(複数に設定できます)。
    2009年6月5日 23:52
    モデレータ
  • 製品名を正しく、はそうなんですが、この場合それ以前の問題でVisual Basicのフォーラムに書き込んでいるにもかかわらず、Basicの文字が含まれてなく何を求めているのやら、と。
    プログラミング言語よりも前に日本語を勉強した方がいいように思えます。
    # 結構ですとか気になってしまう…。

    まずは何をどうしたいのかという目的とどの部分を教えて欲しいのかが書けるようにならないと。「利用する方法」「参照の仕方」では言葉足らずです。
    その上で、Azuleanさんが書かれているような「どこまで」の記述も必要です。
    2009年6月6日 0:17
  • 失礼致しました。。夜中に慌てて書いてしまった事もあり、すみません

    手順は以下のように試しました
    VisualC++にて新規→プロジェクト→C++・クラスライブラリを作成
    ヘッダ:
    //***********VC++ DLLヘッダ
    // vclib.h
    #pragma once

    using namespace System;

    namespace vclib {

     public class ClassVc
     {
      // TODO: このクラスの、ユーザーのメソッドをここに追加してください。
     public :
      int myData(void);
     };
    }

    ソース:
    //***********VC++ DLLソース
    // これは メイン DLL ファイルです。
    #include "stdafx.h"

    #include "vclib.h"

    int myData( void )
    {

     return 1;
    }
    コンパイルしDLLを作成します。

    VisualBasicにて
    プロジェクト→参照の追加→参照にて上記VC++で作成したDLLファイルを選択
    まで行っているのですが、実際のVisualBasicでDLLを参照利用する記述がわかりません
    ソースコード記述
    利用する場所で
    Dim myDll As vclib.ClassVc

    'DLL関数を呼び出す
    myDll.????

    2009年6月6日 3:54
  • VS2008 で選択できる C++ のプロジェクトのうち、「クラスライブラリ」は C++/CLI を使ったマネージアセンブリが作成されます。
    C++/CLI はネイティブクラスとマネージクラス両方を定義できますが、VB や C# で利用できるのはマネージクラスのみです。
    マネージクラスは ref class キーワードを使って定義できますが、さすがに C++/CLI の解説は掲示板じゃ無理なので適当なサイトとか本とか調べてください。
    • 編集済み Hongliang 2009年6月6日 4:37
    • 回答としてマーク sk7474 2009年6月19日 8:57
    2009年6月6日 4:21
  • 助かりました、ありがとうございます。
    マネージクラスですね、調べてみます!

    2009年6月6日 4:26
  • 以下のサイトが参考になりませんか?

    アンマネージ DLL 関数の処理
    http://msdn.microsoft.com/ja-jp/library/26thfadc.aspx

    • 回答としてマーク sk7474 2009年6月19日 8:57
    2009年6月6日 5:12
  • 相変わらず目的が書かれてないです。

    C++のDLLにはHongliangさんの書かれているマネージDLL(クラスライブラリ)とSurferOnWwwさんの書かれているアンマネージDLLの2つがあります。
    目的によってどちらを使うかが決まってくるので、まずそこを説明してください。

    その辺りを理解した上で「クラスライブラリ」を選択したわけではありませんよね?
    2009年6月6日 5:19
  • こんにちは。中川俊輔です。

    皆様、回答ありがとうございます。

    kmasaさん、はじめまして。フォーラムのご利用ありがとうございます。
    勝手ながら、有用な情報と思われる回答へ回答マークをつけさせていただきました。
    まだ何かわからない所などありましたら、ぜひまた質問を投稿してみてください。

    今後ともフォーラムをよろしくお願いします。
    それでは!
    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    2009年6月19日 9:00