番外編1  「ランタイムってなんだろう」



ランタイムはなぜ必要!?

いきなりですが、ランタイムとは何でしょうか?
オンラインソフトを利用した事がある方ならば、一度は耳にした事のある言葉だと思います。
ソフトウェアによっては、これが無いと動作しない事もあります。(ウチで公開しているプログラムもそうです)

しかし、ソフトウェアによっては、これが必要ない場合もあります。
この違いは何でしょうか?
また、そもそもランタイムとは何なんでしょうか??

一般にランタイムと呼ばれているものは、正確には「ランタイム・ライブラリ」と呼ばれるもので、
その実体は、拡張子が「DLL」、「OCX」等のファイルなのです。

これがどういうものなのかを、料理人の出張サービスの例え話で説明していきます。
ここでいう「料理人の出張サービス」とは、その名の通り、お客さんの家に料理人が出向いていって、
様々な料理を作ってくれるサービスだと考えて下さい。
お店の味を、そのまま家庭で楽しめるので、なかなか便利そうですね。

さて、実際にこのサービスを利用する場合の事を想像してみましょう。
お客さんにしてみれば、料理人を呼び出して終わりかもしれませんが、
事前に準備しておくものは無いでしょうか?

お店の料理がどんな材料・調味料を使っているかは不明なので、これらは不要でしょう。
ですが、調理器具に関してはどうでしょうか?
料理人にしてみれば、これらをお客さんの側で用意していてくれれば、
荷物も減って大助かりだとは思いませんか?

もちろん、調理器具も一緒に持ってきてくれれば、お客さんは楽でいいのですが、
何箇所も出張しなければならない料理人にしてみれば、フライパン、お鍋、包丁といった
調理器具まで持ち歩かされるのは酷というものでしょう。

実は、ランタイムとはこの話の調理器具に相当するものなのです。
つまり、ランタイムとは、様々なソフトの実行に共通に必要な道具(ファイル)の事で、
毎回配布するのが大変なので、各自で持って置いて欲しいぞっ!という性質のものなのです。

調理器具を一度購入しておけば、ずっと使い続けられますので、料理人を何回呼んでもOKですね。
これと同じで、ランタイムは一度ダウンロードして、インストールしておけば、
その後は、ランタイムのダウンロードは不要になります。

この仕組みのおかげで、使いたいソフトウェアをダウンロードする際の手間・時間を節約できるわけです。
また、ソフトウェアを公開・配布している側にも同様のメリットがあります。
新しいソフトウェアを配布する度に、ランタイムも用意しなければいけないのでは、
ホームページ上の容量もたくさん必要になってしまうからです。

親切な作者様だと、1つのソフトウェアに対して、ランタイムが必要・不要の
2つのファイルを用意してくれる場合もあります。
ウチは違いますけど。(笑)


ランタイム関連の不具合1
(入っていない、種類が違う等)

さて、ランタイムをダウンロードしてインストールが完了したとします。
そして、いざソフトウェアを使おうとしたらエラーが出て起動できなかった、
というような経験はありませんでしょうか?

この場合、以下のような理由が考えられます。
・そのソフト自体の不具合
・他にインストールしているソフトとの相性が悪い
・OSが対応していない(Win95では動いても、Win2000では動かない等)
・ランタイム関連のエラー
・その他

とまあ、たくさんあるわけですが、中にはユーザーにはどうしようもないものもあります。
今回は、ランタイム関連のエラーについてのみ説明したいと思います。

一口にランタイムの問題といっても、様々なパターンが考えられます。
最も根本的な問題としては、ランタイムがきちんとインストールされていない場合です。

自分ではインストールしたつもりでも、実際にはインストールできていないという事もありますので、
もう一度インストールをしてみるのも1つの手段です。
ランタイムをインストールした後は再起動する必要があったりしますので、注意しましょう。

そして、これも根本的な事ですが、そのソフトに対応したランタイムが必要だという事です!
例えば、そのソフトのマニュアルには、VB6のランタイムが必要だとされているのに、
VB5のランタイムをインストールしても、ダメだという事ですね。

当然ですが、VB6のランタイムが必要なのに、C++Builderのランタイムを
インストールするというのもダメです。

先ほどの料理人の話で言うなら、調理器具が必要なのに、大工道具を用意するようなものです。
ランタイムは、そのソフトが必要としているものをインストールして下さい。
(一般的には、付属の readme.txt や、作者さんのホームページに書いてあると思います)


ランタイム関連の不具合2
(バージョンが違う)

では、VB6が必要なソフトを使うために、VB6のランタイムをインストールしたとしましょう。
普通ならこれで動作するはずなのですが、これでもまだ動かない事があります。
これは一体どういう事なのでしょう?

実は、同じランタイムでも、いくつかのバージョンが存在する場合があるのです。
分かりやすい例では、VB6のランタイムにも、SP3とか、SP4とかがあります。

これは、同じランタイムでも、古いモノか、新しいモノかの違いでして、
「VB6のランタイムSP4」が必要なのに、「VB6のランタイムSP3」を
インストールしても動かなかったりするわけです。(動くこともあります)

しかし、中にはバージョンが違うかどうか、見た目で区別ができない場合もあります。
単に「○○のランタイム」と表現されている場合は、そのバージョンまでは分かりません。
この場合は、確実な対処方は無いのですが、さしあたって新しそうなランタイムを入れておくと良いでしょう。

一般に、新しいランタイムをインストールしておけば、古いランタイムのものも動かせる事が多いです。
ただし、中には古いランタイムでしか動かないというようなソフトもありますので、
その場合は、そのソフトが新しいランタイムに対応してくれるのを待った方が良いかもしれません。

これも、先ほどの料理人の話で説明するならば、
最新式の調理器具しか使ったことの無い新人の料理人に、昔ながらの調理器具を用意しても扱えず、
また、逆に、昔気質の料理人は、使い慣れない最新式の調理器具は使えない、というような感じですね。


ランタイム関連の不具合3
(カスタムコントロールが足りない)

ここまでの条件をクリアしても、まだソフトが動作しない事があります。
その場合は、同じランタイムでも、カスタムコントロールが足りない可能性があります。
それでは、そのカスタムコントロールとは何なのかを、やはり料理人の例え話で説明します。

一口に調理器具といっても、一般的なものから特殊なものまで様々です。
包丁やフライパン等は、どこの家庭にも置いてあるでしょうから、
それらを使う料理ならば、料理人も問題なく料理を完成させる事ができるでしょう。

しかし、中華包丁や、蒸篭(せいろ)等を置いてある家庭は少ないのではないでしょうか?
他にも、餅つきに使う、ウスとキネ等も普通は置いてないと思います。
(ウスとキネを調理器具と呼ぶのかは分かりませんが)

つまり、これらがないと作る事のできない料理は、普通の家庭ではできないわけです。
カスタムコントロールとは、この特殊な調理器具に相当します。

一般に、ランタイムとして配布されているものは、基本のコントロールのみである事が多いのです。
先ほどの例では、一般的な調理器具ですね。

しかし、それではカスタムコントロールを必要とするソフトは動作しないのです。
別途、カスタムコントロールをインストールしてやらないといけません。

ランタイム、カスタムコントロールは、ベクターからダウンロードできますので、探してみて下さい。

ベクターで公開されているランタイムを見て頂けると分かると思いますが、
同じランタイムでも、ファイルサイズがまちまちだったりします。

これは、ランタイムと一緒にいくつかのカスタムコントロールも含めてあったり、
あるいは、ほぼ全てのカスタムコントロールを含めて配布していたりするからです。

面倒な人は、ランタイムをダウンロードする時には、最もファイルサイズの大きいものを 選ぶとよいかと思います。
ファイルサイズが大きいという事は、それだけ多くのカスタムコントロールが入っていると考えられるので・・・


以上で、ランタイムについての解説は終了です。
何となく分かって頂けましたでしょうか?

このページが、ランタイム関連のトラブル解決に役立ったり、
ランタイムの概念の理解に繋がったりすれば、大変嬉しく思います。m(_ _)m



講座の初めに戻る