これを消すと、主人公ドットが表示されない。裏画面から本画面に転送のつもり。NULL;DeleteDC(hCDC);DeleteDC(hMdc);DeleteObject(hbmp);なお、数日前の最初の投稿では省きましたが、実はマップ定義を、hCDCの宣言などの前で行っています。したら、これがリークの原因と関係あるかもと思ったので、今回の投稿では省かず、記載しました。1年前とりあえず、For文ブロック内の最後にDeleteObjectを追加してみt、hbmpを消すつもりのコードを入れました。これを入れると、マップが表示されない。}}でも、まだメモリを消費していきます。かずまさん、ご指摘、ありがとうございます。最終目標的には私はドラクエやFFみたいにマップ画面での主人公の表示位置を中央に固定して、マップのほうをスライドさせる方式にしたいので、マップ読み込みを移動のたびに毎回する必要があるかもしれないなあ・・・と思ってます。(巨大なダンジョン内では、画面表示される部分だけを、移動のたびに毎回、読み込むことになるかもしれません。)また、現状では、まだゲームの完成度がそこまで高くなく、ファイル分割をしておらず、さらにオープニング画面や会話画面など他にもさまざまなコードが1つのファイル内にある段階です。私は恥ずかしながら、まだファイル分割の方法を知りません。モノリシック的に、1枚のソースファイルに、ゲーム内全部の処理を書いている状態です。LR_CREATEDIBSECTION);を削除してみたら、リークが大幅に減りました。して、偶然、メモリリークは解決しましたが、理由・仕組みが、まだ私に理解できません。そのほか、各所にコード:DeleteObject(hbmp);を追加してみたら、とりあえず、メモリリークは発見できなくなりました。100歩以上、キャラクターが歩いても、1メガも使用メモリが増えなくなりました。最終的に、下記のようなコードになりました。これを入れると、マップが表示されない。これを消すと、主人公ドットが表示されない。裏画面から本画面に転送のつもり。DeleteObject(hbmp);DeleteDC(hbackDC);DeleteDC(hMdc);これでメモリリークの解決する理由・仕組みが、まだ私に理解できませんので、どなたか私に解説してください。私の思う印象ですが、なんだか、各種のハンドルがSelectObjectを行うたびに、まるでローカル変数的にオブジェクトをハンドル内にコピーしているかのような印象を受けています。そのため、上記のコードでは、SelectObjectを行った直後に、なるべく即座にDeleteObjectで削除しています。hCDCをhbackDCに改名しました。1年前ちらつきではないのですが、先日の相談の後、メニュー画面(道具、装備、などのコマンド画面)を作ってみまして、メニュー画面からキャンセルボタン(Xキー)を押してマップ画面に戻ると、なぜか、マップの上2段くらいがバグってるというバグに遭遇しました。マップの上2段に、マップの最下段が横1マスずれて表示されるというバグです。読者の方は、もし上述のコードで、バグ発生原因が分かりましたら、ぜひ報告してくださると、助かります。1年前メニュー画面を作って、キャンセルボタンを押したら表示がおかしくなるのなら、そのコードにバグがあるんでしょう。最低限のコードではないですが、GitHubに製作中のゲームのコードがあります。pWin32.cpp最低限のコードを特定するのは、時間が掛かりますので、とりあえずコレで簡便してください。(行数は掲示板への投稿日のものなので、後日、変更するかもしれません。これを入れると、マップが表示されない。これを消すと、主人公ドットが表示されない。これを消すと、ドットが表示されない。これを消すと、ドットが表示されない。裏画面から本画面に転送のつもり。DeleteObject(hbmp);DeleteDC(hbackDC);DeleteDC(hMdc);}と定義しています。(8月上旬ごろの前投稿のあと、モンスターの配置とか、主人公の上下右左の向きのアルゴリズムとかを作ってたので、新たにドット表示が加わっています。)この関数を696行目あたりで呼び出しています。{Draw_map(hdc);}なお、GitHubのコードは1500行くらいあって膨大になりますので、当掲示板には全部のコードは貼らないでおきます。最低限のコードではないですが、GitHubに製作中のゲームのコードがあります。