Re: ChangeWindowModeでウィンドウが表示されない ( No.1 ) |
- 名前:管理人 日時:2007/02/27 13:26
formulaさん始めまして、DXライブラリの管理人です。
うーん、なんででしょう。
DXライブラリで作成したソフトを作成すると、起動時の
カレントディレクトリに Log.txt というログファイルが
作成されるようになっているのですが、そのログファイルを
見れば何か分かるかもしれませんので、宜しければ件の
ChangeWindowMode( TRUE );
をした状態で起動した際の Log.txt の内容を丸ごと
こちらの掲示板に貼り付けてみて頂けないでしょうか?
|
Re: ChangeWindowModeでウィンドウが表示さ ( No.2 ) |
- 名前:formula 日時:2007/02/27 13:50
素早い対応ありがとうございます。
以下がLog.txtの内容です。
0:システムの情報を出力します
10: DXライブラリ Ver2.22f
11: OS WindowsXP ( Build 2600 Service Pack 2 )
112: CPU動作速度:大体2.38GHz
113: MMX命令を使用します
114: CPUベンダ:GenuineIntel
115: CPU名:Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
116:COMの初期化... 成功しました
217:メモリ総量:2046.42MB 空きメモリ領域:1274.72MB
218:タイマーの精度を検査します
218:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
219: パフォーマンスカウンターを使用します タイマー分解能 : 3579.545000 KHz
219: ソフトの二重起動検査... 二重起動はされていませんでした
221:ウインドウクラスを登録します... 登録に成功しました
222:ウインドウモード起動用のウインドウを作成します
DxLib_Initの後でChangeWindowMode( TRUE );した場合のLogも必要でしょうか?
|
Re: ChangeWindowModeでウィンドウが表示されない ( No.3 ) |
- 名前:管理人 日時:2007/02/28 13:26
formulaさんどうも、DXライブラリの管理人です。
Log.txt の貼り付け有難うございます。とりあえず DxLib_Init の後に
ChangeWindowMode( TRUE ); した場合の Log.txt は結構です。
止まってしまっている箇所ですが、ウインドウの作成中という今までに
無いケースで、プログラムを見ただけではちょっと原因が分かりません。m(_ _;m
止まっている間、中で何が行われているのかが分かれば
何を修正すれば良いのかも分かると思いますので、宜しければ
停止の現場(?)を直接ご確認してみて頂けないでしょうか?
もしご承諾頂けるのでしたら、こちらの
http://homepage2.nifty.com/natupaji/temp/ChangeWindowModeTest.zip
DXライブラリのソース付きの VisualStudio2005 用のプロジェクトを
実行して、ウインドウが作成されずに止まっている状態を作ってみて下さい。
その状態で
「デバッグ」→「すべて中断」
として、プログラムを一時停止状態にして、
一時停止になった状態で更に
「デバッグ」→「ウインドウ」→「スレッド」 と
「デバッグ」→「ウインドウ」→「呼び出し履歴」
を選択して、中断した時点で走っているスレッドの一覧と、
一時停止した地点に至るまでにどの関数を辿ったかを知ることが
出来る呼び出し履歴を表示してください。
この状態でスレッドの一覧から「__tmainCRTStartup」と書かれている
項目をダブルクリックすると WinMain 関数から始まっているスレッドが
停止時点で実行していたプログラムの箇所が表示されますので、
申し訳ありませんがそのプログラムのファイル名と行番号と、
その地点に行き着くまでに辿った関数を教えて下さい。m(_ _;m
|
Re: ChangeWindowModeでウィンドウが表示さ ( No.4 ) |
- 名前:formula 日時:2007/03/01 03:26
DxGateway.cppの35行目、"Result = ST_DxLib_Init() ;"で止まりました。
以下、呼び出し履歴です。
ntdll.dll!7c94eb94()
[下のフレームは間違っているか、または見つかりません。ntdll.dll に対して読み込まれたシンボルはありません。]
ntdll.dll!7c94d85c()
kernel32.dll!7c8023ed()
kernel32.dll!7c802451()
ChangeWindowModeTest.exe!ST_ProcessMessage() 行 4520 + 0xa バイト C++
ChangeWindowModeTest.exe!DxActiveWait() 行 4624 + 0x5 バイト C++
ChangeWindowModeTest.exe!ST_SetDrawArea(int x1=0, int y1=0, int x2=0, int y2=0) 行 6048 C++
ChangeWindowModeTest.exe!WM_MOVEShred(long lParam=37292303) 行 15914 + 0x15 バイト C++
ChangeWindowModeTest.exe!DxLib_WinProc(HWND__ * hWnd=0x001d08a4, unsigned int message=3, unsigned int wParam=0, long lParam=37292303) 行 4132 + 0x9 バイト C++
user32.dll!77cf8734()
user32.dll!77cf8816()
user32.dll!77cfb4c0()
user32.dll!77cfb50c()
ntdll.dll!7c94eae3()
user32.dll!77cf94be()
user32.dll!77d0f5ba()
user32.dll!77cfd598()
uxtheme.dll!58731af6()
uxtheme.dll!5873367a()
user32.dll!77d0f134()
kernel32.dll!7c80e494()
ChangeWindowModeTest.exe!DxLib_WinProc(HWND__ * hWnd=0x001d08a4, unsigned int message=71, unsigned int wParam=0, long lParam=1204312) 行 4372 + 0x18 バイト C++
user32.dll!77cf8734()
user32.dll!77cfd05b()
user32.dll!77cfb4c0()
user32.dll!77cfd0a5()
ntdll.dll!7c94eae3()
user32.dll!77cfc027()
nview.dll!1006b9b3()
user32.dll!77cf88d1()
user32.dll!77cfb755()
user32.dll!77cfb785()
nview.dll!1006c5d2()
nview.dll!1006ce44()
ChangeWindowModeTest.exe!DxLib_WinProc(HWND__ * hWnd=0x00240804, unsigned int message=70, unsigned int wParam=0, long lParam=1206384) 行 4374 + 0x2b バイト C++
user32.dll!77cfb3f9()
user32.dll!77cf8bd9()
user32.dll!77cfb3cc()
user32.dll!77cfb3a7()
user32.dll!77cfbaa4()
user32.dll!77cfb96b()
user32.dll!77cfb96b()
uxtheme.dll!587318d7()
uxtheme.dll!5873338a()
user32.dll!77cf8734()
user32.dll!77cfd074()
user32.dll!77cf8bd9()
user32.dll!77cf885a()
user32.dll!77cf882a()
nview.dll!10070dcd()
user32.dll!77cfeaf2()
user32.dll!77d3624f()
user32.dll!77cfcf9e()
ntdll.dll!7c94eae3()
user32.dll!77cfd8b0()
ChangeWindowModeTest.exe!InitializeWindow() 行 1173 + 0x10 バイト C++
ChangeWindowModeTest.exe!ST_DxLib_Init() 行 541 + 0x5 バイト C++
> ChangeWindowModeTest.exe!DxLib_Init() 行 35 + 0x5 バイト C++
ChangeWindowModeTest.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f22, int nCmdShow=1) 行 11 + 0x5 バイト C++
ChangeWindowModeTest.exe!__tmainCRTStartup() 行 315 + 0x1c バイト C
kernel32.dll!7c816fd7()
よろしくお願いします。m(_ _)m
|
Re: ChangeWindowModeでウィンドウが表示されない ( No.5 ) |
- 名前:管理人 日時:2007/03/01 15:09
formulaさんどうも、DXライブラリの管理人です。
お試し頂き有難うございます。
貼り付けて頂いた呼び出し履歴を元に、原因と思しき個所に
変更を加えたバージョンをアップしましたので、宜しければ
もう一度お試しになってみて下さい。m(_ _)m
http://homepage2.nifty.com/natupaji/temp/ChangeWindowModeTest.zip
|
Re: ChangeWindowModeでウィンドウが表示さ ( No.6 ) |
- 名前:formula 日時:2007/03/02 00:34
無事ウィンドウが表示されました!
ありがとうございます。m(_ _)m
あと本件には関係ないのですが、ウイルスバスター2007を使用している場合、
「迷惑メール対策ツールバー」が有効になっている("TMAS_OEMon.exe"が駐屯している)と、
ウィンドウ上(フルスクリーンを含む)でマウスを動かしたとき
'ChangeWindowModeTest.exe': 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' を読み込みました。シンボルが読み込まれていません。
'ChangeWindowModeTest.exe': 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をアンロード
というのが出力ウィンドウに表示され、プログラムが一瞬止まります。
マウスを動かし続ければずっと止まったままです。
設定で「迷惑メール対策ツールバー」を無効にすると解決しますので、
もし同じ症状の方がおられましたら試してみてください。
|