トップページ > 過去ログ > 記事閲覧
Windows2000での起動について
名前:ms92 日時: 2007/08/09 17:27

以下のコードを最新のVer2.23でビルドし、Windows2000で起動すると文字が表示されません。 また、ボックスを表示したり等の簡単なコードもウィンドウが崩れたり表示がおかしかったりなど、挙動がおかしいです。 Ver2.21cでビルドすると正常に動作しました。 #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); //ウィンドウモード // DXライブラリ初期化 if( DxLib_Init() == -1 ) { return -1 ; } SetDrawScreen(DX_SCREEN_BACK); DrawFormatString(0,0,-1,"test"); ScreenFlip(); WaitKey(); return 0; } ご確認よろしくお願いします。

Page: 1 |

Re: Windows2000での起動について ( No.1 )
名前:ms92 日時:2007/08/09 17:29

すみません、追記です。 開発環境はVC++2005EEです。 WindowsXPでは問題ありませんでした。
Re: Windows2000での起動について ( No.2 )
名前:お父さん 日時:2007/08/09 18:44

ms92さん、はじめまして。 私の環境(Windows2000, VC++2005EE, DxLib ver 2.23)で、ms92さんのプログラムをコピペして、 コンパイル+実行してみましたところ、正常に動作しました。 ms92さんのご質問の答えにはなっていませんが、何かのご参考になればと思って、ご報告致します。
Re: Windows2000での起動について ( No.3 )
名前:ms92 日時:2007/08/09 19:36

お父さんさんレスありがとうございます。 大変参考になりました。 ではOS以外の要因があるみたいですね。 また、他のコードなのですが、 Ver2.21cでもWindowsXP(のPC)上では正常に動作し、Windows2000(のPC)上では正常に動作しませんでした。 (長いコードなので何が悪いのかは特定できていません…) あと、ちょっと分かりにくい表現がありました。ごめんなさい。 コンパイル自体はXPで、実行のみを2000上で行いました。
Re: Windows2000での起動について ( No.4 )
名前:憂煉 日時:2007/08/09 21:04

ms92さんはじめまして。 ハードウェアの問題かもしれませんので差し支えなければCPUとマザーボードとグラフィックボードに何を使っているのか教えていただけますか? PentiumとかCrusoeとかiAPX432とかEmotionEngineとか…解る範囲内でお願いします。
Re: Windows2000での起動について ( No.5 )
名前:キーチック 日時:2007/08/09 21:56

DirectXが9.0Cになってないのでは? ふと思ったので書いてみました
Re: Windows2000での起動について ( No.6 )
名前:ms92 日時:2007/08/09 22:45

そうですよね、原因がOSでないようなのでハードウェアを記述するべきでした。 型番がわからないのでeverestで調べました。 VersaPro OS:Windows2000 CPU:Celeron 466MHz RAM:128MB VGA:オンボード チップセット:intel 82443MX DirectX:9.0c です。 logも書いておきます。 Ver2.23(正常に動作しない) 0:システムの情報を出力します 0: DXライブラリ Ver2.23 0: OS Windows2000 ( Build 2195 Service Pack 4 ) 100: CPU動作速度:大体0.40GHz 101: MMX命令を使用します 101: CPUベンダ:GenuineIntel 104:COMの初期化... 成功しました 113:メモリ総量:127.48MB 空きメモリ領域:38.19MB 114:タイマーの精度を検査します 115:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 115: パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz 117: ソフトの二重起動検査... 二重起動はされていませんでした 119:ウインドウクラスを登録します... 登録に成功しました 120:ウインドウモード起動用のウインドウを作成します 167:IMEを無効にしました 371:ウインドウスタイルをウインドウモード用に変更します... 完了 373:DirectInput関係初期化処理 374: DirectInput7 の取得中... 成功 418: 引き続き初期化処理... 初期化成功 420: ジョイパッドの初期化... 424: ジョイパッドの初期化は正常に終了しました 424: マウスデバイスの初期化... 初期化成功 426: キーボードデバイスの初期化... 初期化成功 432:DirectInput 関連の初期化は正常に終了しました 432:DirectSound の初期化を行います 433:DirectSound インターフェースの取得を行います.... 成功 442:引き続きインターフェースの初期化処理... 成功 680: DirectSound デバイスを列挙します 685: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 686: モジュール名: yacxg.sys ドライバ記述:YAMAHA AC-XG WDM Audio 687: 最大サンプリングレート:48.00KHz 最小サンプリングレート:44.10KHz 687: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 688: 利用可能サンプリング精度 689: プライマリ 16bit = OK 8bit = NO 689: セカンダリ 16bit = OK 8bit = NO 691: 利用可能チャンネル 692: プライマリ MONO = OK STEREO = OK 692: セカンダリ MONO = OK STEREO = OK 693:DirectSound の初期化は正常に終了しました 694:DirectDraw 関連の初期化を行います 695: DirectDraw オブジェクトの取得を行います.... 成功 705: 引き続き初期化処理... 初期化に成功しました 713: ビデオカードの情報 714: 画面モード変更処理を開始します 776: 画面モードの変更処理を開始します 640 x 480 16 bit 776: ウインドウモードにします 777: 画面モードの変更は正常に終了しました 778: カラー情報 779: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 779: ウインドウスタイルをウインドウモード用に変更します... 完了 780: 出力画面用の DirectDrawSurface を作成します 824: 各スクリーンメモリの配置位置 824: PrimaryBuffer : VIDEOMEMORY 825: BaskBuffer : SYSTEMMEMORY 825: 出力画面用の DirectDrawSurface の作成は正常に終了しました 826: Direct3D 関連の初期化を行います 829: Direct3Dオブジェクトを取得します 833: Direct3Dオブジェクトを取得しました 836: 3Dデバイスを作成します... 3Dデバイスの作成に成功しました 843: テクスチャ最大幅:1024 最小幅:1 844: 描画制限: D_D3DPTEXTURECAPS_POW2 = 1 D_D3DPTEXTURECAPS_SQUAREONLY = 0 844: テクスチャピクセルフォーマット 845: 通常グラフィック用 846: BIT:16 RED:5 GREEN:6 BLUE:5 846: RED:00f800 GREEN:0007e0 BLUE:00001f 847: BIT:32 RED:8 GREEN:8 BLUE:8 848: RED:ff0000 GREEN:00ff00 BLUE:0000ff 848: アルファチャンネル付きグラフィック用 849: BIT:16 ALPHA:4 RED:4 GREEN:4 BLUE:4 851: ALPHA:0000f000 RED:00000f00 GREEN:000000f0 BLUE:0000000f 851: BIT:32 ALPHA:8 RED:8 GREEN:8 BLUE:8 852: ALPHA:ff000000 RED:00ff0000 GREEN:0000ff00 BLUE:000000ff 853: Direct3D 関連の初期化は正常に終了しました 853: グラフィック管理系の初期化を行います 858: 3Dグラフィック描画機能を使用します 860: フォントの初期化を行います 887: フォントの初期化は正常に終了しました 889: グラフィック管理系の初期化は正常に終了しました 3620: サーフェス間転送には BltFast を使用します 3621: BitBlt:1347086μs BltFast:1345977μs 3622: スキャンラインの数:768 3737: 1フレーム当たりの時間は 16 msecです 3738: Tri00:1 msec 3739: Tri01:16 msec 3739: Tri02:16 msec 3741: Tri03:17 msec 3742: 画面モード変更処理は正常に終了しました 3755: オーバーレイサーフェスを使用します    UYVY 3756: DirectDraw 関連の初期化は正常に終了しました 3771: 文字コードバッファの初期化を行います... 完了しました 37492: ウインドウを閉じようとしています 37536: ウインドウが破棄されようとしています 37536: ソフトを終了する準備が整いました Ver2.21c(前述のコードは正常に動作するが、コードによってはしない) 0:システムの情報を出力します 20: DXライブラリ Ver2.21c 20: OS Windows2000 ( Build 2195 Service Pack 4 ) 520: CPU動作速度:463MHz 520: MMX命令を使用します 520: CPUベンダ:GenuineIntel 590:COMの初期化... 成功しました 590:ソフトの2重起動検査... 2重起動はされていませんでした 590:メモリ総量:127.48MB 空きメモリ領域:39.71MB 601:ソフトの実行優先レベルを上げました 601:ウインドウクラスを登録します... 登録に成功しました 601:ウインドウモード起動用のウインドウを作成します 641:IMEを無効にしました 641:タイマーの精度を検査します 661:精度結果 更新回数 マルチメディアタイマー:2 パフォーマンスカウンター:60 662:パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz 863:ウインドウスタイルをウインドウモード用に変更します... 完了 865:DirectInput関係初期化処理 866: DirectInputオブジェクトの取得中... 成功 910: 引き続き初期化処理... 初期化成功 913: ジョイパッドの初期化... 916: ジョイパッドの初期化は正常に終了しました 917: マウスデバイスの初期化... 初期化成功 919: キーボードデバイスの初期化... 初期化成功 924:DirectInput 関連の初期化は正常に終了しました 924:DirectSound の初期化を行います 925:DirectSound インターフェースの取得を行います.... 成功 934:引き続きインターフェースの初期化処理... 成功 1193: DirectSound デバイスを列挙します 1198: モジュール名: ドライバ記述:プライマリ サウンド ドライバ 1199: モジュール名: yacxg.sys ドライバ記述:YAMAHA AC-XG WDM Audio 1200: 最大サンプリングレート:48.00KHz 最小サンプリングレート:44.10KHz 1200: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB 1201: 利用可能サンプリング精度 1202: プライマリ 16bit = OK 8bit = NO 1203: セカンダリ 16bit = OK 8bit = NO 1204: 利用可能チャンネル 1205: プライマリ MONO = OK STEREO = OK 1205: セカンダリ MONO = OK STEREO = OK 1206:DirectSound の初期化は正常に終了しました 1226:DirectDraw 関連の初期化を行います 1227: DirectDraw オブジェクトの取得を行います.... 成功 1237: 引き続き初期化処理... 初期化に成功しました 1244: ビデオカードの情報 2433: ビデオカードドライバ:atidrab.dll バージョン:0.0.0.0 2434: ドライバ記述:ATI Technologies Inc. RAGE P/M Mobility PCI 2434: ビデオメモリ総量:1.00MB ビデオメモリ空き容量:0.99MB 2435: 画面モード変更処理を開始します 2496: 画面モードの変更処理を開始します 640 x 480 16 bit 2497: ウインドウモードにします 2498: 画面モードの変更は正常に終了しました 2498: カラー情報 2499: A:00000000 B:00ff0000 G:0000ff00 B:000000ff 2500: ウインドウスタイルをウインドウモード用に変更します... 完了 2501: 出力画面用の DirectDrawSurface を作成します 2557: 各スクリーンメモリの配置位置 2558: PrimaryBuffer : VIDEOMEMORY 2559: BaskBuffer : SYSTEMMEMORY 2560: 出力画面用の DirectDrawSurface の作成は正常に終了しました 2561: Direct3D 関連の初期化を行います 2564: Direct3Dオブジェクトを取得します 2568: Direct3Dオブジェクトを取得しました 2635: 3Dデバイスを作成します... 3Dデバイスの作成に失敗しました 2638: グラフィック管理系の初期化を行います 2643: 3Dグラフィック描画機能は使用しません 2645: フォントの初期化を行います 2657: フォントの初期化は正常に終了しました 2658: グラフィック管理系の初期化は正常に終了しました 5402: サーフェス間転送には BitBlt を使用します 5403: BitBlt:1353690μs BltFast:1378170μs 5404: スキャンラインの数:768 5498: 1フレーム当たりの時間は 17 msecです 5499: Tri00:16 msec 5499: Tri01:17 msec 5500: Tri02:17 msec 5501: Tri03:0 msec 5501: 画面モード変更処理は正常に終了しました 5554: オーバーレイサーフェスを使用します    UYVY 5554:DirectDraw 関連の初期化は正常に終了しました 5575:文字コードバッファの初期化を行います... 完了しました 8104:ウインドウを閉じようとしています 8150:ウインドウが破棄されようとしています 8151:ソフトを終了する準備が整いました
Re: Windows2000での起動について ( No.7 )
名前:憂煉 日時:2007/08/10 09:11

3D系の初期化がうまくいっていないようなのでソフトウェアレンダリングモードを使用してみてはどうでしょうか?
Re: Windows2000での起動について ( No.8 )
名前:ms92 日時:2007/08/10 21:58

レスありがとうございます。 SetUse3DFlag(false); を使って、一番初めのコードをVer2.23で2000(のPC)で起動したところ、問題なく正常に動作しました。 で、Ver2.21cでも正常に動作しなかったコードは、SetUse3DFlag(false); を使うことによって正常に動作しました。 試しにVer2.23でSetUse3DFlag(false);を使ってみたところ、Ver2.21cだけでは全く表示されない&動作もしなかったのですが、動作はするけど文字がナナメに表示されるという事態でした。 なので、安定するVer2.21c+SetUse3DFlag(false);でやって行きたいと思います。 ちなみにこのコードはDXライブラリの通信関数を使ったサーバーです。 クライアントの方は画像描画もあるにもかかわらず、Ver2.21cにしただけでSetUse3DFlag(true);でも正常に動作しています。 みなさんレスありがとうございました。

Page: 1 |