掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関数がクラスのインスタンスを返してくる場合 (ID:8003)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> かえでさんの書き込みにありますように、DoSomething はクラスのメソッドでは > なく独立した関数です。また、関数がその外の変数を参照するのは完結しないこと > のほかに、やはり廃棄の問題があります。 Singletonを実装したいのであれば、独立した関数でも可能ですよ。 ただし、関数を別のユニットに書かないとちょっと煩雑になります。 unit uTest; uses Graphics; // 他に必要であればuses節に加える function DoSomething: TBitmap; implementation var FBitmap: TBitmap; function DoSomething: TBitmap; begin if not Assigned(FBitmap) then FBitmap:=TBitmap.Create; Result := FBitmap; end; initialization FBitmap := nil; finalization if Assigned(FBitmap) then FBitmap.Free; end. こんな感じ。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.