なんか、今更な質問で気恥ずかしいのですが……、
VBアプリケーションに必須の各種依存ファイルについてです。
自分的には
「依存ファイル=Runtime=各種コントロールを内包したDLLやOCX」
といった理解をしているのですが(既に違っているかも 汗)
では、なぜ外部プログラムとして提供するのでしょう?
Windowsユーザーには「1つでも共有ファイルは増やしたくない」という
DLL・OCX拒否症の人が結構いると思います。
CONPILE時に、コントロールも含めてEXEファイルに内包すれば、
シェアウェア作者の方々も
「このプログラムを使うときにはVB6ランタイムをベクターから云々」
なんて注意書きをいちいち書く必要がなくなると思うのですが……。
No.1
- 回答日時:
VB6ランタイムを必要とするプログラムは、VBの機能を使用したプログラムなので、それがないと動かないということではないでしょうか?
VBは知りませんが、Builderも同様なことがいえます。
BuilderのDLLの機能を利用したプログラムを作るとBuilderが入っているPCでしか動かないプログラムができてしまうので、初めからそのDLLなどを利用せずに作る必要があります。
ネットで配布する場合、プログラムのデータ量が大きくなるとアップロードもダウンロードも大変になるので、別途配布するのが良いのでは?
ご回答ありがとうございます。
VBの場合、「必ず必要」というのが厄介なんですよね。
どんなに小さくて単純なPGMでも、それを使うために
1MB以上もあるランタイムのダウンロードを強要させられる……。
No.2
- 回答日時:
VBを使っています(配布できるほどのプログラムはありませんが...)。
VBはマイクロソフトのユーザー用公式言語(?)なのですからWindowsに標準でランタイムを入れておいてほしいですね。
Windowsのここまでのシェア拡大には、VBが大きな役割を果たしていると思います。最近はやりのLi**xにはVBがないですから。
ただ、パソコンをそこそこ使っている環境の場合、たいていランタイムを入れてあるので、それぞれのプログラムが小さくなる分利点があると思います。
>Windowsに標準でランタイムを入れておいてほしいですね。
Windows98にはVB4までのランタイムは入っているようですが、
VB自体も頻繁にバージョンアップ(サービスパックも含めて)を
繰り返すので、とてもついていけてないみたいですね。
せめて上位互換でもあればいいのですが……
>パソコンをそこそこ使っている環境の場合、
>たいていランタイムを入れてあるので、それぞれのプログラムが
>小さくなる分利点があると思います
たしかにそうですね。会社のPCなど「いつのまにやら」
入っていることがあります(これはこれで恐いですが)
No.3ベストアンサー
- 回答日時:
Runtimeの理解としてはソレでOKだと思います。
但し、これらをリンクして1つの巨大ファイルにしちゃうと配布時に大変じゃないですか?それに既にDLLが入っていたりする場合は、二重に機能を持つことになって、無駄になっちゃうんですね。
で、それがイヤならCとかC++でプログラムを作ればいいのですが、これも場合によっては共有ファイルが必要な場合があります。もうこれはWindowsのというかWindowシステムを持つOSの宿命ですかね。
VBから他の言語に移るなら Delphiなんかがオススメですかね。かなり似た感じです。ObjectPascalなので全く同じというわけではありませんけどね。
他の方々の回答でもありましたが、
やはり共通の機能を持ったモジュールは共有ファイルとして
提供して、配布ファイルを小さくする、というのが最大の理由
のようですね。
共通機能をRUNTIMEとして提供するか、EXEファイルに統合するかを
コンパイル時に選べるようにして欲しいですね。
No.4
- 回答日時:
「DLL・OCXを減らしたければVC++を使え」という、Microsoftの営業政策的な部分も多分に含まれているのではないかと思いますが。
VC++にもMFCxx.DLLのような、VBにおけるRuntimeに相当するDLLは存在しますが、VC++(ただしProfessional Edition以上)であればスタティックリンクで、その機能をexeの中に取り込むこともできますし。
>VC++にもMFCxx.DLLのような、VBにおけるRuntimeに
>相当するDLLは存在しますが
そういえばありますね。
>VC++(ただしProfessional Edition以上)であれば
>スタティックリンクで、その機能をexeの中に取り込むこともできますし
こういう機能はVBにも欲しいですね。
個人的にはVBという言語はユーザーも多く、簡単に(単純なものなら)
Windowsアプリケーションが作成できる、という点で気に入っているのですが、
依存ファイルについてはメリット(配布サイズを小さくできる)
デメリット(共有ファイルのバージョン違いによる不具合等々)両方
あると思うのですが……
>Microsoftの営業政策的な部分も多分に
>含まれているのではないかと思いますが
そうなんですか? Microsoftは基本的にBasic処理系一押しかと
思ってました(WSHやVBscript・VBA・ActiveX Controlなど)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- Excel(エクセル) Excel使用前提 同じフォルダ内にあるファイルの集約等をマクロでできますか 4 2022/09/06 19:03
- バックアップ パソコンHDDごとの暗号化(見られたくないファイルやフォルダ) 1 2022/05/21 22:08
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- ノートパソコン Windows 10 動作改善方法 6 2023/04/26 22:30
- Excel(エクセル) エクセルのファイルを複数のPCで同期する方法は? 7 2022/11/23 17:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで4096点以上のFFTの方法
-
あるプログラムのコマンドライ...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
Excelに埋め込んだVBAのプログ...
-
バッチ、vbs等でのソフトウェア...
-
「Outlookが他のプログラムによ...
-
COBOLでBLOCK CONTAINS句につい...
-
自動クエリとはどういうもので...
-
VBScriptで作成したプログラム...
-
閉じるを押してもデバッグが終...
-
プログラムのループの周期を設...
-
画像処理
-
プログラムの勉強のおすすめは
-
XnViewにwebpを「いつも開く」...
-
C言語 バッファについて。
-
Google カレンダーの商用利用
-
白色雑音(ガウス性)のプログラム
-
Notepad++の関数リスト表示でC...
-
エクセルVBA 検索時に除外を設...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
あるプログラムのコマンドライ...
-
これってほんとにみますか?
-
Excelで4096点以上のFFTの方法
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
VBAでユーザーフォームが自動的...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
テキストボックスのエンターキ...
-
読み込み中にアクセス違反が発...
-
特定のwebサイトのタイトルや記...
-
未使用の変数を一括検索する方法
-
モジュール、アプリケーション...
-
COBOLの連絡領域について
-
Google カレンダーの商用利用
-
エクセルとワードをデスクトッ...
-
ドロップダウンリストの文字を...
-
binファイルってiphone専用です...
おすすめ情報