Win98でシステムリソースの消費を減らすには

解決


Taku  2003-01-07 08:12:27  No: 2506

作成したプログラムをWin98で起動すると、リソースメータの
システムリソースを30%も消費してしまいます
Formの自動作成対象を減らしても殆んど変わりません。
コンポーネント、配列変数、レコード変数など含まれている中から
効果的に減らす方法があれば、お願いします


にしの  2003-01-07 09:16:37  No: 2507

プロジェクトを見ないと何ともいえません。
# 見ても、今はNT系の環境しかないので試せませんが…

VCLを使わずに作れば、かなり小さく収まると思います。
http://halbow.cool.ne.jp/
このサイトが便利です。
VCLを1つでも使うのであれば、劇的に小さくなることはありません。「すべての」VCLを手書きに変えないと意味がないので。

VCLをすべて排除するのは難しいと思いますので、ちょっとした箇所での解消法を。
まず、配列よりもボタンなどのコンポーネントの数を減らした方がよいです。
ボタンは、TGraphicControlを継承しているTSpeedButtonなどに変えるなどすると違うかもしれません。
また、内部でウィンドウハンドルを持たせているような変数も、できるだけ減らした方がよいです。
自前でボタンを作成しても、結局はハンドルを持つことになります。自前でコンポーネントを作成するより、ウィンドウハンドルを如何に少なくするか、に注目しましょう。


Taku  2003-01-07 10:02:08  No: 2508

にしのさま  本年もお世話になります

VCLを使わない方法は、やはり考えられません。
ボタンの大半はTSpeedButtonを使用していますが
その他、使用しているコンポーネントの絶対数はかなり多いので、
一番の原因はそのためなのでしょうね

レスを参考に少し検討してみます
有難うございました


たかみちえ  URL  2003-01-08 00:48:07  No: 2509

あ、複数のボタン並べるのなら、
DelphianWorldのManyBtnなどを使って、
全部ひとつで済ませてしまったほうがいいと思います。

  これでは全ボタンに文字しか表示できないし、表現力はかなり落ちてしまいますけど、
どうしてもというのなら、同じ要領でコンポーネントを作ったり、継承コンポーネントを作って、
それを使うというのもありでしょう。
  いくらデバイスコンテキストでも、使わないに越したことはないと思うので(^^ゞ

  いくつかのボタンをメニューにまとめてしまっても、楽になるかもしれませんね。


Taku  2003-01-09 17:35:02  No: 2510

たかみさん  遅くなってしまいましたがレス有難うございます

基本的に操作性の良いインターフェースが売りのソフトなので
アイコンボタンとかチェックボックスとかが、数え切れないほど有ります

色を設定するカラーパレットに、Shapeを色数分並べてあるので起動時にCanvasに色を描くとか
PageControl内のコンポーネントをTabControlで共有するとか
数が多い分、ダイエットできる個所も沢山見つかりました。
オブジェクトをフォームに追加するだけで出来てしまうのをプログラムでカバーするのは
面倒ですが、簡単なところから始めてみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加