トップページ > 過去ログ > 記事閲覧
ウィンドウの×を押したときの処理
名前:mantis 日時: 2008/07/15 14:05

ウィンドウの×を押して閉じてしまうと、 ずっとメモリを消費したままで終わってしまいます。 「ウィンドウの×ボタンが押されたとき」 の処理はどうやって書けばよいのでしょうか、おしえてください。

Page: 1 |

Re: ウィンドウの×を押したときの処理 ( No.1 )
名前:ライブラリ使用者 日時:2008/07/21 20:03

×を押すと、ProcessMessage()でエラーを返します。 (それ以外がどの程度あるのかは分かりませんが、リファレンスでも早めに終了を推奨してます) なので、この場合の処理をすればいいと思います。 終了の仕方はそのプログラム次第で千差万別なので省略。 極論、DxLib_End()だけでもいいんじゃないかな。。。 こういう場合があるから駄目だという方、補足してあげてください。
Re: ウィンドウの×を押したときの処理 ( No.2 )
名前: 日時:2008/07/22 12:03

> ずっとメモリを消費したままで > 終わってしまいます。 それはどの様に確認しましたか? 最近のWindowsなどのOSは賢いので、 起動したアプリケーションが終了すると そのプロセスが持っていたメモリ領域 (共有メモリなど一部を除く)はすべて解放 されるはずです。 #自分が作ったプロセスが残っているなら、 #単にWinMainがきちんと終了していない #だけだと思いますが ライブラリ使用者さんが書かれている通り、 Windowの×ボタンが押されての終了も、 ProcessMessage関数で知ることができ、かつ 終了は必ずエントリーポイントからの復帰を 行わなければならないのでWinMainをリターン する前にDxLib_Endを呼び出して解放する などで良いでしょう。
Re: ウィンドウの×を押したときの処理 ( No.3 )
名前:mantis 日時:2008/07/23 20:08

ProcessMessage関数はXが押されたときにエラーを返すのですか! 今まで何も知らずに書いていました。 そうすると、while文で書いていなかったから起こったのだと思います。 ありがとうございました。

Page: 1 |