トップページ > 記事閲覧
DxLib_Initの2度目実行後非同期読込の動きがおかしい
名前:シュガー 日時: 2016/01/21 17:10

いつも楽しくプログラミングをさせていただいております。 下記のようなプログラムを書いて、実行させたのですが、私の環境ではいつになってもSetUseASyncLoadFlag()を使った非同期読み込みが終了しません。 通常の同期読み込みは正常に動いてくれるのですが、どうしたらいいでしょうか 使用しているDXlibのバージョンはVer 3.16です。 #include <DxLib.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(true); SetDrawScreen(DX_SCREEN_BACK); if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } int i = 0; int grhandle = 0; while (ProcessMessage() == 0) { ClearDrawScreen(); switch (i) { case 0: DxLib_End(); DxLib_Init(); break; case 1: SetUseASyncLoadFlag(true); grhandle = LoadGraph("test.jpg"); SetUseASyncLoadFlag(false); break; default: if (CheckHandleASyncLoad(grhandle) == FALSE) { DrawGraph(0, 0, grhandle, TRUE); } DrawFormatString(0, 0, GetColor(255, 255, 255), "読み込み中の数 %d", GetASyncLoadNum()); break; } ScreenFlip(); i++; } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
メンテ

Page: 1 |

Re: DxLib_Initの2度目実行後非同期読込の動きがおかしい ( No.1 )
名前:管理人 日時:2016/01/23 20:44

すみません、DxLib_End の際に立てる非同期処理終了のフラグが DxLib_Init の際に リセットされていないのが原因でした 修正版をアップしましたので、よろしければお使いください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.exe // VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.exe // BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_DevCppTest.exe // Dev-C++ 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.exe // MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存