変数を空にするには

解決


モモンガ  2003-03-23 02:11:56  No: 3208

普通のString変数にTimerコンポーネントを使って、文字列をどんどん入れて
いくコードを書きました。
これがかなりメモリを喰っているようでして。
ルーチンの終了を待たず、途中で変数内を空にする方法がありますでしょう
か?。

よろしくお願いします。


たかみちえ  URL  2003-03-23 04:04:00  No: 3209

空文字('')を代入すれば?
  とはいえ、これでちゃんとメモリ領域まで開放されるかどうかわかりませんけど。

  あとは、あまりにメモリが多くなってしまうようならば、別の方法を考えてみるのもありかもしれません。
(圧縮するとか、ファイルに保存するとか、無駄を省くとか)
  タイマーでそんなにメモリを使ってしまうとなると、ちょっと深刻かもしれません。


モモンガ  2003-03-23 17:29:19  No: 3210

レス、ありがとうございます。
今作っているのがタイマーで0.2秒毎に他アプリを監視するソフトなのです
が、Win2000のタスクマネージャで見てみると、どんどんメモリ容量が多く
なっていきます。1時間ほっておいたら30,000kbまで膨らみました。

私はプログラムの経験が浅いのですが、やはり、このようなソフトは良く
ないですよね。
やはり監視方法を再検討するべきな気がしてきました。


たかみちえ  URL  2003-03-23 17:38:04  No: 3211

> 1時間ほっておいたら30,000kbまで膨らみました。
  それは、どこかでメモリリークしているんじゃないでしょうか?
いくらなんでも、20メガ以上の文字列変数をタイマーで使うということは考えられませんし…。
  MemCheckなどのモジュールを使ってみてはどうでしょうか?
http://www.yks.ne.jp/~hori/


モモンガ  2003-03-23 22:16:26  No: 3212

メモリリークですか。。
お恥ずかしながら、今回、初めて知った用語です。
さっそく試して、コードを見直してみます。
ありがとうございました。


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

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






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