掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関数がクラスのインスタンスを返してくる場合 (ID:8001)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そのfunction DoSomething(const Src: TBitmap): TBitmapというのが 何度も実行されるのであれば クラスの生成時に FSomethingBitmap : TBitmap; とビットマップをあらかじめ生成しておきDoSomethingの中で Result := FSomethingBitmap; と渡すのが無難でしょう もちろんDoSomethingを実装しているクラスの破棄イベントで FSomethingBitmapを解放する必要があります。 元のクラスを書き換えられないならoverrideなどしてでも 確実に作っておいた方が良いです。 渡される側で破棄するという方法で今回作られたとしても もし別のプロジェクトで使用されるときに混乱が生じるでしょう。 それと適当に書かれた文章やソースが見あたりますが、 メモリリークは直接プログラムの暴走につながることですので 慎重に議論する必要があると思います。 特にるるとん@Kさんの適当な回答が目立ちます。 長期間放置されている質問なら別ですが、答えられない質問に 無理して見当違いの回答をしてもしかたないでしょう。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.