(注:私はPascalでコーディングしています)
クラスの作成者では、TQuest
次のようにパラメータとして指定されたpSDL_Surfaceを使用していくつかのオブジェクトを初期化します。
quests.Add( CPopuQuest.create('Get money ! ','Get more than $10,000', IMG_LOAD(MONEY_ICON), 1000, 10) );
(興味深い部分はIMG_LOAD(MONEY_ICON)
、MONEY_ICONを使用した画像へのパスです。
プログラムを終了すると、次の行のこのCPopuQuestオブジェクトのデストラクタでエラーが発生します。
if badge<>nil then SDL_FreeSurface(badge)
(バッジは、IMG_LOAD(MONEY_ICON)によってインスタンス化されたpSDL_Surfaceがコピーされる属性です)
ほとんどの場合は機能しますが、プログラムを閉じるときにエラーが発生することがあります...誰かが助けてくれるなら:)(ご覧のとおり、IMG_LOADの動作、返される内容、および呼び出されたときにメモリがどのように割り当てられるか)。