unknown
2009-03-29 03:52:00 UTC
Windows 95 4.00上でVC6++でキーボード入力を主にしたプログラムを作成しています。
プログラムはシングルウインドウ(Win32)です。デバッグバージョンで動作を確認し、
リリースバージョンで再確認しながらほぼ完成しました。キー入力は
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)で
case WM_KEYDOWN:
// キー入力
key_sw = wParam;
として受け取り
これを
int kansuA(HWND hWnd,int key_sw);
{
kansuB(hWnd,key_sw);
省略
int kansuB(HWND hWnd,int key_sw)
{
kansuC(hWnd,key_sw);
省略
int kansuC(HWND hWnd,int key_sw)
{
kansuD(hWnd,key_sw);
省略
と順に呼び出し
最終の関数kansuD内でkey_swの処理を行います。
この処理が数日前に突然出来なくなりました。
最初のkey_swは処理できるのですが、2回目からのkey_swは全く無視されます。
最初はフリーズしたのかと思ったのですが、そうではなく、上部右端の_、×は正常に動作します。
_をクリックし再度表示させると3回目のkey_swが入力できます。これらは何も自身のプログラムの
表示に限らず、例えば「メモ帳」を開いたり休止したりしても同じで、3回目のkey_swが受け取られます。
これらはリリースバージュンだけに発現しています。デバッグバージョンではこれらは発現しません。
まるでWindowsのハンドルを一時的に奪われたような動きに見えます。
念のため、Windows98SEとXPでリリースバージョンをテストして見ましたが、正常の動作しました。
プログラムのサイズはリリースバージョンで580KB、デバッグバージョンで1.16MBです。
スタックはデフォルト設定で1MBあるそうですから、十分に余裕があります。
又、停止する前後のソースを詳細に調べましたが、文字列のオーバーフローは見当りませんでした。
システムの違いの性なのか、原因がはっきりしないと不安です。
何故こうしたことが発生するのか、理由が判れば有り難いです。よろしくお願い致します。
/*****************************
堺市南区原山台
上田 恭平
E_Mail ***@sannet.ne.jp
*****************************/
プログラムはシングルウインドウ(Win32)です。デバッグバージョンで動作を確認し、
リリースバージョンで再確認しながらほぼ完成しました。キー入力は
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)で
case WM_KEYDOWN:
// キー入力
key_sw = wParam;
として受け取り
これを
int kansuA(HWND hWnd,int key_sw);
{
kansuB(hWnd,key_sw);
省略
int kansuB(HWND hWnd,int key_sw)
{
kansuC(hWnd,key_sw);
省略
int kansuC(HWND hWnd,int key_sw)
{
kansuD(hWnd,key_sw);
省略
と順に呼び出し
最終の関数kansuD内でkey_swの処理を行います。
この処理が数日前に突然出来なくなりました。
最初のkey_swは処理できるのですが、2回目からのkey_swは全く無視されます。
最初はフリーズしたのかと思ったのですが、そうではなく、上部右端の_、×は正常に動作します。
_をクリックし再度表示させると3回目のkey_swが入力できます。これらは何も自身のプログラムの
表示に限らず、例えば「メモ帳」を開いたり休止したりしても同じで、3回目のkey_swが受け取られます。
これらはリリースバージュンだけに発現しています。デバッグバージョンではこれらは発現しません。
まるでWindowsのハンドルを一時的に奪われたような動きに見えます。
念のため、Windows98SEとXPでリリースバージョンをテストして見ましたが、正常の動作しました。
プログラムのサイズはリリースバージョンで580KB、デバッグバージョンで1.16MBです。
スタックはデフォルト設定で1MBあるそうですから、十分に余裕があります。
又、停止する前後のソースを詳細に調べましたが、文字列のオーバーフローは見当りませんでした。
システムの違いの性なのか、原因がはっきりしないと不安です。
何故こうしたことが発生するのか、理由が判れば有り難いです。よろしくお願い致します。
/*****************************
堺市南区原山台
上田 恭平
E_Mail ***@sannet.ne.jp
*****************************/