ページ 11

DxLib_Init();で動作が停止してしまう

Posted: 2013年11月27日(水) 00:26
by TE
少し前にDXライブラリを使用したツールを公開したのですが、起動すると[動作を停止しました]と出る報告をいただきました。
少しずつプログラムを削りながら確認してもらっていたのですが、最終的にDxLib_Init();が原因ではないか?という状況になりました。
以下はテストに使用したソースです。

コード:

#include "DxLib.h"
#include "windows.h"
bool ProcessLoop(){
	if(ProcessMessage() != 0) return false;
	if(ScreenFlip() != 0) return false;
	if(ClearDrawScreen() != 0) return false;
	return true;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
	SetGraphMode(400,240,32);
	SetMainWindowText("");
	ChangeWindowMode(true);
	MessageBox(NULL,"【1】","",MB_OK);
	DxLib_Init();
	MessageBox(NULL,"【2】","",MB_OK);
	SetAlwaysRunFlag(true);
	SetDrawScreen(DX_SCREEN_BACK);
	SetDrawMode(DX_DRAWMODE_BILINEAR);
	MessageBox(NULL,"【3】","",MB_OK);
	/*----------------------------------------------------------------------------------------------------*/
	while(ProcessLoop()){
	}
	DxLib_End();
	return 0;
}

確認していただいた報告によると、【1】→ウィンドウが立ち上がる→(間もなく)[動作を停止しました]らしいです。
上のソースになる少し前(状況は同じ)にログをいただいたので、そちらも貼っておきます。
画像
情報があったら教えて下さい。

Re: DxLib_Init();で動作が停止してしまう

Posted: 2013年11月27日(水) 00:55
by taketoshi
DxLib_Init();関数はハードウェアの
初期化処理を行っているっぽいので被験者のPCの問題ではないでしょうか。

本家の掲示板に似たような議論がございました。
http://hpcgi2.nifty.com/natupaji/bbs/pa ... o=2111&p=1

提示されたソースコードは私のPCでは動きました。

Re: DxLib_Init();で動作が停止してしまう

Posted: 2013年11月27日(水) 15:33
by TE
回答ありがとうございます!
DXライブラリを使用しない方向でも作り直せそうなので、その方にはそれを送ることにします。

Re: DxLib_Init();で動作が停止してしまう

Posted: 2013年11月27日(水) 17:45
by ISLe
Log.txtの内容を見る限りではElecom Wireless Gamepadのドライバに問題があるのでは。

エレコムのサイトでワイヤレスゲームパッドのページを見ると、ドライバの更新情報に
Ver.1.1
特定の環境でDirectXアプリケーションが起動しない現象を改善しました。
という記述がありますが。