なんか、今更な質問で気恥ずかしいのですが……、
VBアプリケーションに必須の各種依存ファイルについてです。
自分的には
「依存ファイル=Runtime=各種コントロールを内包したDLLやOCX」
といった理解をしているのですが(既に違っているかも 汗)
では、なぜ外部プログラムとして提供するのでしょう?

Windowsユーザーには「1つでも共有ファイルは増やしたくない」という
DLL・OCX拒否症の人が結構いると思います。

CONPILE時に、コントロールも含めてEXEファイルに内包すれば、
シェアウェア作者の方々も
「このプログラムを使うときにはVB6ランタイムをベクターから云々」
なんて注意書きをいちいち書く必要がなくなると思うのですが……。

このQ&Aに関連する最新のQ&A

run dll」に関するQ&A: run.dll32.exe について

言語 Pascal」に関するQ&A: Pascal言語

A 回答 (4件)

Runtimeの理解としてはソレでOKだと思います。



但し、これらをリンクして1つの巨大ファイルにしちゃうと配布時に大変じゃないですか?それに既にDLLが入っていたりする場合は、二重に機能を持つことになって、無駄になっちゃうんですね。

で、それがイヤならCとかC++でプログラムを作ればいいのですが、これも場合によっては共有ファイルが必要な場合があります。もうこれはWindowsのというかWindowシステムを持つOSの宿命ですかね。

VBから他の言語に移るなら Delphiなんかがオススメですかね。かなり似た感じです。ObjectPascalなので全く同じというわけではありませんけどね。
    • good
    • 0
この回答へのお礼

他の方々の回答でもありましたが、
やはり共通の機能を持ったモジュールは共有ファイルとして
提供して、配布ファイルを小さくする、というのが最大の理由
のようですね。
共通機能をRUNTIMEとして提供するか、EXEファイルに統合するかを
コンパイル時に選べるようにして欲しいですね。

お礼日時:2001/04/08 15:03

「DLL・OCXを減らしたければVC++を使え」という、Microsoftの営業政策的な部分も多分に含まれているのではないかと思いますが。



VC++にもMFCxx.DLLのような、VBにおけるRuntimeに相当するDLLは存在しますが、VC++(ただしProfessional Edition以上)であればスタティックリンクで、その機能をexeの中に取り込むこともできますし。
    • good
    • 0
この回答へのお礼

>VC++にもMFCxx.DLLのような、VBにおけるRuntimeに
>相当するDLLは存在しますが
そういえばありますね。

>VC++(ただしProfessional Edition以上)であれば
>スタティックリンクで、その機能をexeの中に取り込むこともできますし
こういう機能はVBにも欲しいですね。
個人的にはVBという言語はユーザーも多く、簡単に(単純なものなら)
Windowsアプリケーションが作成できる、という点で気に入っているのですが、
依存ファイルについてはメリット(配布サイズを小さくできる)
デメリット(共有ファイルのバージョン違いによる不具合等々)両方
あると思うのですが……

>Microsoftの営業政策的な部分も多分に
>含まれているのではないかと思いますが
そうなんですか? Microsoftは基本的にBasic処理系一押しかと
思ってました(WSHやVBscript・VBA・ActiveX Controlなど)

お礼日時:2001/04/08 15:13

VBを使っています(配布できるほどのプログラムはありませんが...)。


VBはマイクロソフトのユーザー用公式言語(?)なのですからWindowsに標準でランタイムを入れておいてほしいですね。
Windowsのここまでのシェア拡大には、VBが大きな役割を果たしていると思います。最近はやりのLi**xにはVBがないですから。
ただ、パソコンをそこそこ使っている環境の場合、たいていランタイムを入れてあるので、それぞれのプログラムが小さくなる分利点があると思います。
    • good
    • 0
この回答へのお礼

>Windowsに標準でランタイムを入れておいてほしいですね。
Windows98にはVB4までのランタイムは入っているようですが、
VB自体も頻繁にバージョンアップ(サービスパックも含めて)を
繰り返すので、とてもついていけてないみたいですね。

せめて上位互換でもあればいいのですが……

>パソコンをそこそこ使っている環境の場合、
>たいていランタイムを入れてあるので、それぞれのプログラムが
>小さくなる分利点があると思います
たしかにそうですね。会社のPCなど「いつのまにやら」
入っていることがあります(これはこれで恐いですが)

お礼日時:2001/04/08 15:18

VB6ランタイムを必要とするプログラムは、VBの機能を使用したプログラムなので、それがないと動かないということではないでしょうか?


VBは知りませんが、Builderも同様なことがいえます。
BuilderのDLLの機能を利用したプログラムを作るとBuilderが入っているPCでしか動かないプログラムができてしまうので、初めからそのDLLなどを利用せずに作る必要があります。

ネットで配布する場合、プログラムのデータ量が大きくなるとアップロードもダウンロードも大変になるので、別途配布するのが良いのでは?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
VBの場合、「必ず必要」というのが厄介なんですよね。
どんなに小さくて単純なPGMでも、それを使うために
1MB以上もあるランタイムのダウンロードを強要させられる……。

お礼日時:2001/04/08 14:57

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報