- 締切済み
DLLについて
ビジュアルベーシックのDLLについてしりたいのですが・・・。 学校の宿題でクラスモジュールをDLLに書き換えるというのがありましたが、DLLっていうもの自体よくわかりません。どうにしていいのかもわかりません。WebsiteとかでDLLついてのことをさがしてみたのですが・・・見つかりません。もし、DLL(ビジュアルベーシックの)について詳しく説明してあるWebsiteなど知っている人がいたら教えてください。DLLを使うと何が違うのか(標準との違い)もしくはDLLについて詳しく教えてくれませんか? よろしくお願いします。m(__)m
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- itohh
- ベストアンサー率45% (210/459)
こんにちは。itohhといいます。 DLLの解説は以下の通りです。 > Windowsにおいて、複数のアプリケーションソフトが共通して利用するような >汎用性の高いプログラムを部品化してファイルとして保存しておき、必要に応 >じてメモリに呼び出して利用する手法。また、そのようにして利用されるプロ >グラム部品のこと。DLLとして提供されている機能は開発せずにすむので、アプ >リケーションソフトの開発効率が高まる。また、同じプログラム部品を複数の >アプリケーションソフトで共有するので、ディスクやメモリの容量を節約できる。 >WindowsはOSとしての機能の多くをDLLとして提供しており、基本的なアプリケー >ションソフトならば標準のDLLが持つ機能を呼び出すだけで構築できることも多い。 (e-Wordsより抜粋) VBでもDLLは作成できることは他の方が回答しているとおりです。 ただし、No.2かたが回答している >ActiveX DLLを使用できるのはVisualBasicのみです。他の言語では使用できません。 は、違うと思います。 VC++でもVBA(アクセスやエクセルのマクロ)やVBScriptでもまた、Perlでも使用することが できます。 ActiveX DLLの良いところは、開発言語に関係なく共通の関数群が作成できるということです。 ActiveX DLLを作成できる開発言語は、VC++,VBです。確認はしていないのですがC#という新し い言語でも作成できると思います。
- Hk2001
- ベストアンサー率48% (24/49)
DLLを作成するということは VB6からですね。 No2.さんの方法で作成できます。 >新規のプロジェクトを作成時に「ActiveX DLL」を >指定すれば、作成が可能です。 既に存在するクラスで作る場合は、クラスを開いてプロジェクトを 「標準EXE」から「ActiveX DLL」に変更してください。 補足ですが、私が、VBで作成したDLLは、なんか普通のDLLと違ったものになってしまいました。何処とは、詳しくわかりませんが、たとえば、コンポーネントとして あつかわれてしまい、プロジェクトの参照設定で設定しなければ使えませんでした。Declare で使えなかった。(やり方が悪かったのかもしれませんが) あと、DLLは、作成したバージョンの管理をしっかりしてください。 以前のバージョンからの互換を保たないと そのDLLを使用したEXEが動きません。 なんで、クラスのインターフェース部分は、しっかり考えて作成してください。 ※インターフェース部分(Publicの部分)
#1の回答に補足致します。 質問方がどのVBを使用されているのかはわかりませんが、「VBX」は「VisualBasic Ver2」時のコントロール ファイルですので現在のバージョンでは使用できません で、VisualBasicのDLLですがおそらく「ActiveX DLL」 のこと指しているのではないでしょうか? 新規のプロジェクトを作成時に「ActiveX DLL」を 指定すれば、作成が可能です。 また、通常のDLLと違いは大まかには以下のとおりです。 ・手続きの違い DLLではC言語インターフェースですがActiveX DLL ではCOMに従います。 (細かいところでは違うと思いますが、簡単に言え ばこれであってると思います) ・使用環境の違い ActiveX DLLを使用できるのはVisualBasicのみです。他の言語では使用できません。 参考になるでしょうか?
- takebou
- ベストアンサー率43% (27/62)
VBのDLLというところから違う気がしますよ。 DLLというのは、Dynamic Link Library の略で、ライブラリをいろいろなアプリで共有するものです。 具体的には各アプリケーションで必ず使用される、ウィンドウを表示するという動作や、メニューを受け付けると言う動作などをDLLに格納しておくのです。 CやC++言語をコンパイルして作られているものです。 VBでこれにあたるものはVBXファイルのような気がしましたが・・・。 VBでもDLLを使用できた気はします。 最新のVBがDLLに変換できるようになってたのならゴメンナサイ。