Delphi7Proで作成したアプリを渡したところ、以下のようなエラーが出ると言われてしまいました。
「rtl70.bplが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。」
他の人のところでは普通に動くのですが・・・
何が原因なのでしょうか?
ご教授宜しくお願い致します。
プロジェクトオプション(「プロジェクト」−「オプション」)で
実行時パッケージを使って構築
とかいうチェックついていませんか?
> 他の人のところでは普通に動くのですが・・・
Delphi7を持っている人?
>ん?さん
チェック付いてます
また、Delphi7は持ってないです
チェックを外してコンパイルすれば良いのでしょうか?
チェックをはずすか、そのプログラムで使用しているパッケージをEXEと一緒にインストールするか、どちらかでよいかと思います。
チェックをはずすと、パッケージは不要になりますが、EXEが大きくなります。
チェックが入っていれば、EXEは小さくなりますが、パッケージを入れなければなりません。一度パッケージを入れれば、バージョンアップなどはEXEの入れ替えだけです。
>にしのさん
パッケージを見てみたら下記のように記述されていました
vcl;rtl;vclx;indy;vclie;xmlrtl;inetdbbde;inet;inetdbxpress;dbrtl;soaprtl;dsnap;VclSmp;dbexpress;vcldb;dbxcds;inetdb;bdertl;vcldbx;adortl;teeui;teedb;tee;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP
また、いろいろ調べてみたところ、rtl70.bplというのは、多言語機能で使用されてるっぽいです
と、私にはここまでしかわかりませんでした。
何をどのようにインストールすれば(させれば?)この問題が解決するのでしょうか?
やっぱり、チェックを外した方が無難?^^;
インストールプログラムで、パッケージを配布するか、もしくは、パッケージをEXEに組み込むか、どちらかの方法にします。
それぞれの利点は、にしのさんが書いているとおりです。
rtl70.bpl 等のbplファイルは、D5のヘルプから一部抜粋すると・・・
> 実行時パッケージ。これは,Delphi 固有の機能を持つ Windows の DLL ファイル
チェックをつけてコンパイルすると、よくあるlzhの圧縮・解凍ソフトに
unlha32.dll がないと動作しないのと同じで、bぅさんが作ったソフトも
rtl70.bplがないと動かない状態(一部はdllなしで動作しますが)。
その分、ファイルサイズは小さくできます。
んでは、lzhの圧縮・解凍ソフトが必要なunlha32.dllは、どこにあるかというと、
ソフトの解凍先にあってもいいし、いわゆるWindowsのシステムフォルダ
(c:\windows\system32とか)にあってもいい。
インストールプログラム(setup.exeやinstall.msiみたいなの)を用意せず、
適当なフォルダに置いて使わせるだけであれば、rtl70.bpl を、
bぅさんが作ったソフトと同じフォルダに置くだけで動作します。
・・・が、ごく一部のパッケージには、再配布条件があったりするので、
deploy.txt を参照し、再配布可能であるか調べる必要があります。
通常は、気にするようなことはないと思うのですが。。。
こんな説明でいいのかな?
すいません、なんか難しく考えていたみたいです^^;
皆さんのおかげで綺麗にすっぱり華麗に素敵に理解することが出来ました。
本当にありがとうございます。
ツイート | ![]() |