OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

DLLについて

  • すぐに回答を!
  • 質問No.174410
  • 閲覧数76
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 50% (4/8)

ビジュアルベーシックのDLLについてしりたいのですが・・・。

学校の宿題でクラスモジュールをDLLに書き換えるというのがありましたが、DLLっていうもの自体よくわかりません。どうにしていいのかもわかりません。WebsiteとかでDLLついてのことをさがしてみたのですが・・・見つかりません。もし、DLL(ビジュアルベーシックの)について詳しく説明してあるWebsiteなど知っている人がいたら教えてください。DLLを使うと何が違うのか(標準との違い)もしくはDLLについて詳しく教えてくれませんか?
よろしくお願いします。m(__)m
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル9

ベストアンサー率 43% (27/62)

VBのDLLというところから違う気がしますよ。 DLLというのは、Dynamic Link Library の略で、ライブラリをいろいろなアプリで共有するものです。 具体的には各アプリケーションで必ず使用される、ウィンドウを表示するという動作や、メニューを受け付けると言う動作などをDLLに格納しておくのです。 CやC++言語をコンパイルして作られているものです。 VBでこれにあたるものはVBXファ ...続きを読む
VBのDLLというところから違う気がしますよ。
DLLというのは、Dynamic Link Library の略で、ライブラリをいろいろなアプリで共有するものです。
具体的には各アプリケーションで必ず使用される、ウィンドウを表示するという動作や、メニューを受け付けると言う動作などをDLLに格納しておくのです。
CやC++言語をコンパイルして作られているものです。
VBでこれにあたるものはVBXファイルのような気がしましたが・・・。
VBでもDLLを使用できた気はします。

最新のVBがDLLに変換できるようになってたのならゴメンナサイ。
  • 回答No.2

#1の回答に補足致します。 質問方がどのVBを使用されているのかはわかりませんが、「VBX」は「VisualBasic Ver2」時のコントロール ファイルですので現在のバージョンでは使用できません で、VisualBasicのDLLですがおそらく「ActiveX DLL」 のこと指しているのではないでしょうか? 新規のプロジェクトを作成時に「ActiveX DLL」を 指定すれば、作成が ...続きを読む
#1の回答に補足致します。
質問方がどのVBを使用されているのかはわかりませんが、「VBX」は「VisualBasic Ver2」時のコントロール
ファイルですので現在のバージョンでは使用できません

で、VisualBasicのDLLですがおそらく「ActiveX DLL」
のこと指しているのではないでしょうか?
新規のプロジェクトを作成時に「ActiveX DLL」を
指定すれば、作成が可能です。

また、通常のDLLと違いは大まかには以下のとおりです。
・手続きの違い
 DLLではC言語インターフェースですがActiveX DLL
 ではCOMに従います。
 (細かいところでは違うと思いますが、簡単に言え  ばこれであってると思います)
・使用環境の違い
 ActiveX DLLを使用できるのはVisualBasicのみです。他の言語では使用できません。

参考になるでしょうか?
  • 回答No.3
レベル9

ベストアンサー率 48% (24/49)

DLLを作成するということは VB6からですね。 No2.さんの方法で作成できます。 >新規のプロジェクトを作成時に「ActiveX DLL」を >指定すれば、作成が可能です。 既に存在するクラスで作る場合は、クラスを開いてプロジェクトを 「標準EXE」から「ActiveX DLL」に変更してください。 補足ですが、私が、VBで作成したDLLは、なんか普通のDLLと違ったものになって ...続きを読む
DLLを作成するということは VB6からですね。

No2.さんの方法で作成できます。
>新規のプロジェクトを作成時に「ActiveX DLL」を
>指定すれば、作成が可能です。
既に存在するクラスで作る場合は、クラスを開いてプロジェクトを
「標準EXE」から「ActiveX DLL」に変更してください。

補足ですが、私が、VBで作成したDLLは、なんか普通のDLLと違ったものになってしまいました。何処とは、詳しくわかりませんが、たとえば、コンポーネントとして
あつかわれてしまい、プロジェクトの参照設定で設定しなければ使えませんでした。Declare で使えなかった。(やり方が悪かったのかもしれませんが)

あと、DLLは、作成したバージョンの管理をしっかりしてください。
以前のバージョンからの互換を保たないと そのDLLを使用したEXEが動きません。
なんで、クラスのインターフェース部分は、しっかり考えて作成してください。
※インターフェース部分(Publicの部分)
  • 回答No.4
レベル12

ベストアンサー率 45% (210/459)

こんにちは。itohhといいます。 DLLの解説は以下の通りです。 > Windowsにおいて、複数のアプリケーションソフトが共通して利用するような >汎用性の高いプログラムを部品化してファイルとして保存しておき、必要に応 >じてメモリに呼び出して利用する手法。また、そのようにして利用されるプロ >グラム部品のこと。DLLとして提供されている機能は開発せずにすむので、アプ >リケーションソ ...続きを読む
こんにちは。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#という新し
い言語でも作成できると思います。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ