作成したプログラムをWin98で起動すると、リソースメータの
システムリソースを30%も消費してしまいます
Formの自動作成対象を減らしても殆んど変わりません。
コンポーネント、配列変数、レコード変数など含まれている中から
効果的に減らす方法があれば、お願いします
プロジェクトを見ないと何ともいえません。
# 見ても、今はNT系の環境しかないので試せませんが…
VCLを使わずに作れば、かなり小さく収まると思います。
http://halbow.cool.ne.jp/
このサイトが便利です。
VCLを1つでも使うのであれば、劇的に小さくなることはありません。「すべての」VCLを手書きに変えないと意味がないので。
VCLをすべて排除するのは難しいと思いますので、ちょっとした箇所での解消法を。
まず、配列よりもボタンなどのコンポーネントの数を減らした方がよいです。
ボタンは、TGraphicControlを継承しているTSpeedButtonなどに変えるなどすると違うかもしれません。
また、内部でウィンドウハンドルを持たせているような変数も、できるだけ減らした方がよいです。
自前でボタンを作成しても、結局はハンドルを持つことになります。自前でコンポーネントを作成するより、ウィンドウハンドルを如何に少なくするか、に注目しましょう。
にしのさま 本年もお世話になります
VCLを使わない方法は、やはり考えられません。
ボタンの大半はTSpeedButtonを使用していますが
その他、使用しているコンポーネントの絶対数はかなり多いので、
一番の原因はそのためなのでしょうね
レスを参考に少し検討してみます
有難うございました
あ、複数のボタン並べるのなら、
DelphianWorldのManyBtnなどを使って、
全部ひとつで済ませてしまったほうがいいと思います。
これでは全ボタンに文字しか表示できないし、表現力はかなり落ちてしまいますけど、
どうしてもというのなら、同じ要領でコンポーネントを作ったり、継承コンポーネントを作って、
それを使うというのもありでしょう。
いくらデバイスコンテキストでも、使わないに越したことはないと思うので(^^ゞ
いくつかのボタンをメニューにまとめてしまっても、楽になるかもしれませんね。
たかみさん 遅くなってしまいましたがレス有難うございます
基本的に操作性の良いインターフェースが売りのソフトなので
アイコンボタンとかチェックボックスとかが、数え切れないほど有ります
色を設定するカラーパレットに、Shapeを色数分並べてあるので起動時にCanvasに色を描くとか
PageControl内のコンポーネントをTabControlで共有するとか
数が多い分、ダイエットできる個所も沢山見つかりました。
オブジェクトをフォームに追加するだけで出来てしまうのをプログラムでカバーするのは
面倒ですが、簡単なところから始めてみます。
ツイート | ![]() |