• ベストアンサー

ウィンドウがおかしくなる(windowsプログラミング)

シューティングゲームを作ろうと思っています。自分のキャラを動かしていると、しばらくしてから、ウィンドウの表示がおかしくなる(タイトルバーが消える。ウィンド内が正しい色で描画されなくなる)などがおこります。更新してもウィンドが元に戻ることはありません。ウィンドウを更新する内容をプログラムに書き加え、キーボードにキーを割り当て、プログラムを実行してから、ひたすら更新ボタンを押し続けてみたところ、しばらくして同じ症状が現れました。原因がウィンドウの更新にあるような気がするのですが、コンパイルエラーもなく原因がよくわかりません。windowsプログラミングは初めてなのでご存知の方がいたら教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • saitoha
  • ベストアンサー率81% (9/11)
回答No.2

OSからリソースをもらってきている場所と、返している場所をチェックするとよいかもしれないです たとえば、リソースを返すのを忘れていて、描画更新のたびにメモリを消費し、しばらく動かしてるとビデオRAMがいっぱいになる。 そのせいで何かの関数が失敗する。あるいはシステムメモリからとってこようとするのだけれど、VRAMでうまくいってたことがうまくいかなくなる。

marche302
質問者

お礼

論理ペンや論理ブラシを作成した後にDeleteObject(hBrush);が抜けていたのが原因だったようです。初歩的なミスで申し訳ありません。本当にありがとうございました。

その他の回答 (1)

  • koedame
  • ベストアンサー率33% (10/30)
回答No.1

うーん。 これだけではどんな風になっているのか見当もつきません。 タイトルバーが消えるというのもある意味すごいような・・・ 出来れば、あなたが、「ここらへんが原因だろう」と予想できる範囲内のソースコードを公開してください。

marche302
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • javaのプログラミングに関する質問です

    javaのプログラミングに関する質問です。 ウィンドウ上のボタンを押すことで 「実行しますか?」のような確認のポップアップが出てきて、選択肢「はい」を選ぶと実行、「いいえ」を選ぶと何もせずに戻る といったプログラムを作りたいときはどうすればいいのでしょうか。

  • プログラミングについて。

    プログラミング初心者です。 ちょっと興味があり、プログラミングの勉強をしています。 テキストベースでプログラムを書いていったとして、どうやってGUIベースにすればいいのでしょうか? Linux上で簡単なプログラムをつくってコンパイルしましたが、コマンドから実行するともちろんCUIでの実行になります。 どうすれば、GUIベースで作れるのでしょうか。 言語以外の知識(専用ソフトウェア等)を必要とするのですか。 それとも、htmlのように画像などを読み込ませ完成させるのでしょうか。 iPhoneアプリ製作などは XCodeなどがありますが、プログラマーとして仕事をしている人は基本的にそのような専用ソフト上でプログラミングしているのでしょうか。

  • Javaのプログラミング

    Javaのプログラミングを今日始めたのですが コンパイルの実行をする際 javac <ソースファイル名>を入力しコンパイルしたら エラーと出てしまいます 原因としては何が考えられるのでしょうか?

  • windowsプログラミングについて学ぶ本

    windowsプログラミングについて学ぶ本 今私はC言語を通じて、windowsプログラムの勉強をしています で、なんですがそのために参考書を探しています。 サイトでも勉強はしていますが、PCがないときに本でも勉強したいと思ってます 参考書の内容は入門~幅広い応用(図形の描画やソケット通信のような)までのっているようなものだとうれしいです 値段は問いません、本なのであまり高いものはないと思いますが また複数でもいいです 皆さんのご回答お待ちしています

  • COBOLでプログラミング

    Xp HomeEdition のPCでCOBOLのプログラムは出来ますか? 可能でしたらソフトのインストール、プログラミング、コンパイル、 実行の仕方が書かれた本かHPをお教え下さい。

  • windows updateの更新略歴表示について

    windows update(パソコンバージョン:windows vista)の更新略歴表示について   本日、windows updateの更新プログラムを実行した上で様々な操作(トラブルシューティングなど)をすることになり、ただそのような操作を行った後これまでの更新略歴が表示されなくなってしまいました。   そこで質問ですが、当該更新略歴を再表示させるためにはどのようにすればいいでしょうか。   なお、アンインストール画面では当該略席が表示されるようで、また一度目の更新プログラム実行はなかなかプログラムが先に進まなかったため一度キャンセルした後二度目で更新終了したようです。   ただ、当該一度目実行時にキャンセルボタンを押したにもかかわらずなかなか終わらずプログラムの強制終了を何度も行うなどしました。   さらに、上記記載に加えトラブルシューティングを実行したところ多くは自動修正されたものの二つほど修正できなかったことがあり、ただ修正の仕方がわからず対応をあきらめているものがあります。

  • LinuxとWindowsについて

    学校のプログラミングと言う授業でOSがLinuxのPCを使ってプログラムを書いています。  Emacsと言う文書ソフトでプログラムを書き、ktermと言うソフトでコンパイル&実行する。  と言った感じです。しかし家のPCはWindowsな為、家で復習する事ができません。家でも実際にプログラムを書いて動くかどうか試行錯誤しながらプログラムを覚えていきたいと思うのですが。。。そこで質問です。windowsのPCでも学校のLinuxのPCと同じような感じで、プログラム作成&コンパイル&実行できるフリーソフトを紹介してください。コンパイルなどの仕方などが多少変わっても構いません。どうかお願いします。

  • Macでのソケットプログラミング(ネットワークプログラミング)

    Macでネットワークプログラミング(UNIXベースのため)をしようと思っているのですが、サーバプログラムを作り実行したところ、「bind : Can't assign requested address」と出てしまい、実行することができません。 コンパイル時にエラーは出なかったので、プログラム自体にミスはないと思います。 ちなみにOSのバージョンはOS X Tiger 10.4.6です。 どなたか詳しい方、教えて下さい。

  • ネットワークプログラミングについて

    過去ログを検索してみて質問:socの秀和システム出版の「Javaネットワークプログラミング」に載っているクライアント・サーバ型のチャットプログラムについての質問がありました。 私も同じ本で学習しているのですが、過去ログの方の例では1台で実行した場合、2台でネットワーク経由で実行した場合両方とも成功していました。 このプログラムをコンパイルして実行してみてもサーバーに接続できませんと出ます。このプログラムを実行するにはどのような環境、コマンド等が必要でしょうか? 私が試している環境はJ2SDKでWindowXP一台でコマンドプロンプトでchatsv.javaとchatcl.java(アプレット)の両方をコンパイルし、chatsvを実行。chatclはHTMLファイルを作り、それを実行するとIPアドレスを指定画面が出るので指定します。通信はSocket通信です。WindowsのIPアドレス(自分)にはpingもしっかり通っています。 あと2台でネットワークを介した起動では、クライアントには上記のWindowsを、fedora core3を使ってサーバープログラムを起動。こちらも同様にchatsvを実行し、apacheにchatcl.htmlを組み込んでいます。windos側、fedora側から実行しても接続できません。こちらもwindowsからIPアドレスを直接指定するとチャットアプレットは見ることはできますし、pingも通ります。 長くなってしまいましたが、よろしくお願いいたします。

    • ベストアンサー
    • Java
  • アクティブウィンドウの切り替えor固定

    TeX専用のエディタを使っています。キーボードでF10キーを押すとコンパイルが実行されDVIOUTに表示されるので便利なんですが、もうひとつ贅沢してDVIOUTが表示された後に再び編集するときにマウスでエディタのウィンドウをクリックする手間を省きたいのです。 アクティブウィンドウを固定したり、アクティブウィンドウをキーボードできりかえたりする方法はないものでしょうか? よろしくお願いします。

専門家に質問してみよう