トップページ > 過去ログ > 記事閲覧
ウインドウについて
名前:初心者 日時: 2007/10/28 15:57

下記のプログラムを実行するとウインドウは開くんですが何もキー入力していないにもかかわらずすぐにウインドウが閉じてしまいます。原因がわからなくて困っています。どなたか教えていただけないでしょうか? #include "DxLib.h" int WINAPI WinMain(HINSTANCE hI, HINSTANCE hP, LPSTR lpC, int nC) { ChangeWindowMode(TRUE); if(DxLib_Init() == -1) return(-1); DrawBox(0, 0, 120, 120, 65535, TRUE); WaitKey(); DxLib_End(); return(0); }

Page: 1 |

Re: ウインドウについて ( No.1 )
名前:ライブラリ使用者 日時:2007/10/28 17:35

WaitKey()ですがマウス入力などでも、反応してたと思いますが。 マウス、ジョイパッドも全く触れずに、発生するのであればちと分からないです。
Re: ウインドウについて ( No.2 )
名前:初心者 日時:2007/10/29 22:42

回答ありがとうございます。マウス入力なしでも閉じてしまいます。DrawBoxの処理もまったく行われていません。ただ黒いウインドウが開くだけですぐに閉じてしまいます。
Re: ウインドウについて ( No.3 )
名前:ライブラリ使用者 日時:2007/10/30 01:18

そうですか。 ソースをコピーして実行してみたのですが、きちんと処理されました。環境の問題かもしれません。 1.ブレイクポイントで1行ずつ辿っていく。 2.DxLibの吐く、Log.txtを貼る  (デフォルトでなら、ログ記録されたはずです:EXE直下) をやってみてはいかがでしょうか? (ログの見方は知らないですが、きっと誰か応えてくれると思います。
Re: ウインドウについて ( No.4 )
名前:初心者 日時:2007/10/31 00:29

回答ありがとうございます。ログファイルを張ります。 どなたか分かる方教えていただけないでしょうか? 1:システムの情報を出力します 2: DXライブラリ Ver2.21a 3: OS Windows98 ( Build 67766222 ) 504: CPU動作速度:264MHz 505: MMX命令を使用します 506: CPUベンダ:GenuineIntel 509:COMの初期化... 成功しました 530:ソフトの2重起動検査... 2重起動はされていませんでした 532:メモリ総量:63.03MB 空きメモリ領域:22.47MB 533:ソフトの実行優先レベルを上げました 533:ウインドウクラスを登録します... 登録に成功しました 535:ウインドウモード起動用のウインドウを作成します 558:IMEを無効にしました 559:タイマーの精度を検査します 866:精度結果 更新回数 マルチメディアタイマー:2 パフォーマンスカウンター:60 867:パフォーマンスカウンターを使用します タイマー分解能 : 1193.180000 KHz 1068:ウインドウスタイルをウインドウモード用に変更します... 完了 1071:DirectInput関係初期化処理 1072: DirectInputオブジェクトの取得中... 取得に失敗 1105: ウインドウを閉じようとしています 1132: ウインドウが破棄されようとしています 1133: ソフトを終了する準備が整いました 2101: 2102: Alloc memory dump 2102: Total size:0(0.000kb) Alloc num:0 2103:
Re: ウインドウについて ( No.5 )
名前:Will 日時:2007/10/31 09:59

DirectInputに初期化に失敗しています。 かなり古いDXライブラリを使用されているようなので、最新のDXライブラリを使用してください。 過去ログ見ると同じような質問があり、Ver.2.22cでDirectInputの初期化処理が改良されていますので、これで解決するのではないでしょうか。
Re: ウインドウについて ( No.6 )
名前:初心者 日時:2007/10/31 12:45

Willさん回答ありがとうございます。アドバイス通り最新のバージョンのDXライブラリにして実行してみましたがやっぱりダメでした。一応そのときのログファイルも張ってみます。もし何かわかれば教えていただけないでしょうか? 1:システムの情報を出力します 2: DXライブラリ Ver2.23 3: OS Windows98 ( Build 67766222 ) 104: CPU動作速度:大体0.26GHz 105: MMX命令を使用します 106: CPUベンダ:GenuineIntel 110:COMの初期化... 成功しました 163:メモリ総量:63.03MB 空きメモリ領域:4.05MB 164:タイマーの精度を検査します 167:精度結果 更新回数 マルチメディアタイマー:1 パフォーマンスカウンター:60 168: パフォーマンスカウンターを使用します タイマー分解能 : 1193.180000 KHz 169: ソフトの二重起動検査... 二重起動はされていませんでした 172:ウインドウクラスを登録します... 登録に成功しました 183:ウインドウモード起動用のウインドウを作成します 201:IMEを無効にしました 493:ウインドウスタイルをウインドウモード用に変更します... 完了 497:DirectInput関係初期化処理 498: DirectInput7 の取得中... 取得に失敗。 533: エラーコード 0x80004002 533: DirectInput8 の取得を試みます...取得に失敗。DirectInput を使用しません。 561: パッドの数は 0 個です 562:入力関連の初期化をしました 563:DirectSound の初期化を行います 564:DirectSound インターフェースの取得を行います.... 成功 570:引き続きインターフェースの初期化処理... 成功 609:DirectSoundのプライマリサウンドバッファの作成に失敗しました 613:DirectDraw 関連の初期化を行います 614: DirectDraw オブジェクトの取得を行います.... オブジェクトの取得に失敗しました 619: DirectDrawオブジェクトの作成に失敗しました 621: 入力関連の終了処理... 完了 630: ウインドウを閉じようとしています 636: ウインドウが破棄されようとしています 687: ソフトを終了する準備が整いました 1529: 1530: Alloc memory dump Total size:0(0.000kb) Alloc num:0 1532:
Re: ウインドウについて ( No.7 )
名前:Will 日時:2007/10/31 15:18

ダメでしたか DirectInputの他にもいろいろ初期化に失敗していますね。 OSがWin98のようですし、かなり古いPCでしょうか? 対策としては ・DirectXのバージョンを確認し、古ければ最新にする ・グラフィックスドライバを最新にする ・SetUse3DFlag(FALSE): をDxLib_Initの前に入れて3D機能は使わないようにする の3つかな。 これでダメなら私ではお手上げです。
Re: ウインドウについて ( No.8 )
名前:ライブラリ使用者 日時:2007/10/31 21:52

OSもですが、 104: CPU動作速度:大体0.26GHz 163:メモリ総量:63.03MB 空きメモリ領域:4.05MB スペックもかなり低目ですね、特に空きメモリ4MBというのはどうでしょう。 単にメモリ不足に陥ってる可能性はないですかね? DxLibは確かDirectX8以降対応?だった気がするのでDirectXの確認、また他のPCをお持ちであればそちらで確認してみてはいかがですか。
Re: ウインドウについて ( No.9 )
名前:初心者 日時:2007/11/02 00:20

ご回答ありがとうございます。とりあえず最新のDXライブラリをダウンロード してやってみましたが結局すぐに閉じてしまいました。そのときのログファイ ルを張ります。ログファイルに変化はあったのですがよく分かりません。 どなたか教えていただけないでしょうか? 11:システムの情報を出力します 33: DXライブラリ Ver2.23 33: OS Windows98 ( Build 67766222 ) 135: CPU動作速度:大体0.26GHz 136: MMX命令を使用します 137: CPUベンダ:GenuineIntel 141:COMの初期化... 成功しました 672:メモリ総量:63.03MB 空きメモリ領域:34.68MB 674:タイマーの精度を検査します 680:精度結果 更新回数 マルチメディアタイマー:3 パフォーマンスカウンター:60 681: パフォーマンスカウンターを使用します タイマー分解能 : 1193.180000 KHz 682: ソフトの二重起動検査... 二重起動はされていませんでした 741:ウインドウクラスを登録します... 登録に成功しました 743:ウインドウモード起動用のウインドウを作成します 938:IMEを無効にしました 2345:ウインドウスタイルをウインドウモード用に変更します... 完了 2372:DirectInput関係初期化処理 2373: DirectInput7 の取得中... 取得に失敗。 3043: エラーコード 0x80004002 3044: DirectInput8 の取得を試みます...取得に失敗。DirectInput を使用しません。 3415: パッドの数は 0 個です 3416:入力関連の初期化をしました 3430:DirectSound の初期化を行います 3431:DirectSound インターフェースの取得を行います.... 成功 4183:引き続きインターフェースの初期化処理... 成功 5580:DirectSoundのプライマリサウンドバッファの作成に失敗しました 5640:DirectDraw 関連の初期化を行います 5640: DirectDraw オブジェクトの取得を行います.... オブジェクトの取得に失敗しました 5683: DirectDrawオブジェクトの作成に失敗しました 5685: DirectDraw 関連の終了処理をおこないます                    〜  中略(同じ処理がかなり何回も続くため)  〜 14921:DirectDraw 関連の終了処理をおこないます 14922:DirectDrawオブジェクトを解放します 14923:DirectDrawオブジェクトを解放しました 15078:DirectDrawオブジェクトを解放します 15079:DirectDrawオブジェクトを解放しました 15079:DirectDraw オブジェクトの取得を行います.... オブジェクトの取得に失敗しました 15097:DirectDraw オブジェクトの作成処理時にエラーが発生しました 15099:DirectDraw 関連の終了処理をおこないます 15100:DirectDrawオブジェクトを解放します 15100:DirectDrawオブジェクトを解放しました 15231:画面モードを元に戻す処理は正常に終了しました 15232:DirectDraw 関連の終了処理は正常に終了しました 15280:ウインドウを閉じようとしています 15326:ウインドウが破棄されようとしています 15327:ソフトを終了する準備が整いました 15475: 15476: Alloc memory dump Total size:0(0.000kb) Alloc num:0 15477:
Re: ウインドウについて ( No.10 )
名前:管理人 日時:2007/11/02 02:50

インストールされている DirectX のランタイムがバージョン 7 以前であることが考えられます。 DXライブラリは DirectX 7 を使用していますので、DirectX 7 以上のバージョンのランタイム をインストールしてみて下さい。 <DirectX のランタイムをダウンロードできるページ> http://www.microsoft.com/japan/windows/directx/default.mspx
Re: ウインドウについて ( No.11 )
名前:初心者 日時:2007/11/03 13:56

DirectXのバージョンを新しくしたところ何とか正常に起動しました。 何度も親切な回答ありがとうございました。

Page: 1 |