今日はDxLib内の関数、SetOutApplicationLogValidFlagについて質問があります。
現在、DxLibを使いオセロを作っています。
ある程度ゲームとして完成したので、exeファイルを配布しようと思ったのですが
exeファイルを実行すると謎のLog.txtが、、、
調べてみるとLog.txtというのは
- DxLibの出力ログ
- SetOutApplicationLogValidFlagで出力する、しないを変更できる
私はDxLibの初期化、終了をするクラスを作成していたので、
初期化処理のDxLib_Initの前にSetOutApplicationLogValidFlagを追加したのですがLog.txtは相変わらず出力されます。。。
main文でSetOutApplicationLogValidFlagを呼ぶとLogの出力はされなくなるのですが、出来ればクラスの中にまとめちゃいたいです。
ということで質問です。
- クラス内でのSetOutApplicationLogValidFlagは有効なのか
- 有効である場合、私のコードでは何がいけないのか
以下コード
//DxClass.cpp
//.hは省略、、、
DxClass::DxClass(const std::string &title)
{
this->Init(title);
}
DxClass::~DxClass()
{
DxLib_End();
}
bool DxClass::Init(const std::string &title)
{
enum
{
CW,
WI,
ALV,
WT,
DI,
SD,
NUM,
};
bitset<NUM> flag;
flag[CW] = ChangeWindowMode(TRUE) == 0;
flag[ALV] = SetOutApplicationLogValidFlag(FALSE) == 0;
flag[WI] = SetWindowIconID(IDI_MAINICON) == 0;
flag[WT] = SetWindowText(title.c_str()) == 0;
flag[DI] = DxLib_Init() == 0;
flag[SD] = SetDrawScreen(DX_SCREEN_BACK) == 0;
auto a = (bool)flag[ALV];//a=trueになるので失敗はしてない?
return flag.all();
}
//Main.cpp
#include"DXClass.h"
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
//SetOutApplicationLogValidFlag(FALSE); ここで関数を呼び出すとLogは出ない
DxClass obj;
オフトピック
横着してコンストラクタでInitを呼び出してるんですけど、こういうのは明示的に呼びだしたほうがいいんですかね?^^;