ビジュアルベーシックのDLLについてしりたいのですが・・・。
学校の宿題でクラスモジュールをDLLに書き換えるというのがありましたが、DLLっていうもの自体よくわかりません。どうにしていいのかもわかりません。WebsiteとかでDLLついてのことをさがしてみたのですが・・・見つかりません。もし、DLL(ビジュアルベーシックの)について詳しく説明してあるWebsiteなど知っている人がいたら教えてください。DLLを使うと何が違うのか(標準との違い)もしくはDLLについて詳しく教えてくれませんか?
よろしくお願いします。m(__)m
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは。
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#という新し
い言語でも作成できると思います。
No.3
- 回答日時:
DLLを作成するということは VB6からですね。
No2.さんの方法で作成できます。
>新規のプロジェクトを作成時に「ActiveX DLL」を
>指定すれば、作成が可能です。
既に存在するクラスで作る場合は、クラスを開いてプロジェクトを
「標準EXE」から「ActiveX DLL」に変更してください。
補足ですが、私が、VBで作成したDLLは、なんか普通のDLLと違ったものになってしまいました。何処とは、詳しくわかりませんが、たとえば、コンポーネントとして
あつかわれてしまい、プロジェクトの参照設定で設定しなければ使えませんでした。Declare で使えなかった。(やり方が悪かったのかもしれませんが)
あと、DLLは、作成したバージョンの管理をしっかりしてください。
以前のバージョンからの互換を保たないと そのDLLを使用したEXEが動きません。
なんで、クラスのインターフェース部分は、しっかり考えて作成してください。
※インターフェース部分(Publicの部分)
No.2
- 回答日時:
#1の回答に補足致します。
質問方がどのVBを使用されているのかはわかりませんが、「VBX」は「VisualBasic Ver2」時のコントロール
ファイルですので現在のバージョンでは使用できません
で、VisualBasicのDLLですがおそらく「ActiveX DLL」
のこと指しているのではないでしょうか?
新規のプロジェクトを作成時に「ActiveX DLL」を
指定すれば、作成が可能です。
また、通常のDLLと違いは大まかには以下のとおりです。
・手続きの違い
DLLではC言語インターフェースですがActiveX DLL
ではCOMに従います。
(細かいところでは違うと思いますが、簡単に言え ばこれであってると思います)
・使用環境の違い
ActiveX DLLを使用できるのはVisualBasicのみです。他の言語では使用できません。
参考になるでしょうか?
No.1
- 回答日時:
VBのDLLというところから違う気がしますよ。
DLLというのは、Dynamic Link Library の略で、ライブラリをいろいろなアプリで共有するものです。
具体的には各アプリケーションで必ず使用される、ウィンドウを表示するという動作や、メニューを受け付けると言う動作などをDLLに格納しておくのです。
CやC++言語をコンパイルして作られているものです。
VBでこれにあたるものはVBXファイルのような気がしましたが・・・。
VBでもDLLを使用できた気はします。
最新のVBがDLLに変換できるようになってたのならゴメンナサイ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- その他(コンピューター・テクノロジー) パソ粥が壊れてしまい。 新しく買ったパソコンに Amplitued5 Max をダウンロードインスト 1 2022/05/22 00:33
- その他(OS) OBSが起動できません 3 2022/03/30 12:21
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- その他(ソフトウェア) MMD PMXエディタ プラグイン 押せない はじめまして。MMDについて質問させていただきます。 7 2022/05/04 15:53
- 小学校 本当にびっくりしました。 小学校の宿題は、授業中に解説や間違い直しをしないそうです。 週末の宿題がや 6 2022/07/15 19:46
- 中学校 学校の夏休みの課題で『SDGsについて考えよう!』 という課題があります。 そして、SDGsの17の 6 2022/08/20 12:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HOLONついて教えてください。
-
VB.netは何系?
-
JavaとC++の生産性の違い
-
C言語って古いですか?
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
擬似コード
-
アセンブリ名とは??
-
Int('1234') で、strをかんたん...
-
C言語 解答について。
-
自作ソフトウェアの販売方法
-
最近小学生、中学生にもプログ...
-
Excelの開発言語ってなんですか?
-
自営業でも実務経験に入る?
-
COBOLで文字タイプを数字...
-
PHPでLinux用のCライブラリを呼...
-
IT業界より楽に稼げる業界って...
-
コンピュータのプログラミング...
-
UNITY Float型の接尾辞fって
-
プログラミング言語の制作方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HOLONついて教えてください。
-
C言語でメモ帳のようなソフト...
-
Excel,Accessの多言語対応について
-
言語の違い
-
VBとVC++について
-
音声認識アプリ
-
ヘルプの作り方
-
マイクロソフトの開発環境について
-
今作るならHTML、XHTMLのどちら...
-
VB.netは何系?
-
Windowsクライアントソフト開発...
-
オープンソースってなんですか?
-
C言語系の将来性と現在の有用性...
-
linux・FreeBSD上...
-
データベースソフトを作りたい
-
Windowsアプリ開発環境につきま...
-
.net framework用のソフトウェ...
-
天文ソフト(星図ソフト)を作...
-
プログラミングの勉強
-
microsoft.netとframeworkの差
おすすめ情報