掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関数がクラスのインスタンスを返してくる場合 (ID:7986)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
すみません、また初歩的な質問させてください。 関数がクラスのインスタンスを返してくる場合、関数の呼び出し側では このインスタンスをどう扱えばよいのでしょうか? 例えば、 function DoSomething(Bitmap: TBitmap): TBitmap; のように、引数に与えられたビットマップに何らかの処理をして それを戻り値で返してくるような関数があったとすると、 procedure TForm1.Button1Click(Sender: TObject); var Bitmap: TBitmap; begin Bitmap := TBitmap.Create; try Bitmap := DoSomething(Image1.Picture.Bitmap); Bitmap.SaveToFile(ExtractFilePath(ParamStr(0)) + 'Result.bmp'); finally Bitmap.Free; end; end; こんなことしても大丈夫でしょうか? それとも、この場合は代入しているからOKで、 Bitmap.Assign(DoSomething(Bitmap)); みたいにするとメモリリークしちゃうのですか?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.