2010-11-27 6 views
3

ここで問題があるのは、C++とwin32 apiを使って子ウィンドウを作成することです。 getLastError関数が "87"を返すかどうかを確認しても、その意味を知ることはできません。 私のコードにはエラーが含まれていないことが分かっているので、誰かが自分のコードを見て、何が間違っているのか理解しやすくなります。another win32 problem

(これはWINPROC WM_CREATEセクションである。)

 HWND hChildWindow = CreateWindowEx(WS_EX_CLIENTEDGE,0,NULL,WS_OVERLAPPEDWINDOW|WS_VISIBLE,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,hwnd,0,GetModuleHandle(0),NULL); 
    if(!hChildWindow) 
    { 
     char text[256]; 
      int errormsg = (int)GetLastError(); 
      sprintf(text,"Error# %i",errormsg); 
      MessageBox(0,text,"Error",MB_OK|MB_ICONEXCLAMATION); 
     return false; 
    } 

答えて

2

87 = Invalid Parameter - FormatMessageを使用すると、エラーコードから文字列メッセージを受け取ることができることに注意してください。

1

System Error Codes参照介してクイックルックはERROR_INVALID_PARAMETERを示しています。無効なスタイル/フラグの組み合わせをウィンドウに渡す可能性が最も高いです。

2

CreateWindowExの2番目のパラメータは、ウィンドウクラス(文字列またはATOM)です。明らかにNULLは有効な値ではありません。

P.S.私は私のコードは にエラーが含まれていません知っているものについては

...

は、このような大声フレーズに注意してください。 何かが機能しない場合は、すべてを注意深くチェックする必要があります。さもなければ、問題を解決するために何の役に立たないものを誰かに非難するかもしれません。すべてのものをstandard/documentation/specifications /などと確認してください。あなたが判断を下す前に。