Winapi createwindowex(...)



  • if(!(hWnd = CreateWindowEx(dwExStyle,
    		"DWWWWW1",
    		title,
    		dwStyle |
    		WS_CLIPSIBLINGS |
    		WS_CLIPCHILDREN,
    		0, 0,
    		WindowRect.right-WindowRect.left,
    		WindowRect.bottom-WindowRect.top,
    		NULL,
    		NULL,
    		hInstance,
    		NULL))) // hier krachts
    	{
    		KillD3DWindow();
    		MessageBox(NULL, L"naja", L"Error.", MB_OK | MB_ICONINFORMATION);
    	}
    

    wieso krachts da beim letzten parameta?



  • wieso krachts da beim letzten parameta?

    Der Compiler meint mit hoher Wahrscheinlichket die logische Zeile; und die geht eben von 1-13. Die MSDN-Bib sieht ausdrücklich die Mögl. vor, daß lpParam gleich NULL ist. Daran kann's also nicht liegen.



  • Definier' mal "es Kracht"!

    greetz, Swordfish



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Könnte es sein, daß es nur "irgendwo" in der Parameterliste kracht? Dann gibt manch ein Compiler nämlich nur das Ende der Liste aus.
    Da Du nämlich ein ChildWindow erstellst, würde ich vermuten daß hWndParent ( 9. Parameter) falsch angegeben ist. Außerdem hast Du bei dwStyle einfach "dwStyle" angegeben, das ist aber kein Style.



  • auszüge aus dem Code:

    if(hDC && !Release(hWnd, hDC))
    	{
    		MessageBox(NULL, L"Release DC failed.", L"Shutdown Error", MB_OK | MB_ICONINFORMATION);
    		hDC = NULL;
    	}
    

    error C3861: "Release": Bezeichner wurde nicht gefunden.

    // Create a Window
    
    	if(!(hWnd = CreateWindowEx(dwExStyle,
    		"Direct 3D",
    		title,
    		dwStyle |
    		WS_CLIPSIBLINGS |
    		WS_CLIPCHILDREN,
    		0, 0,
    		WindowRect.right-WindowRect.left,
    		WindowRect.bottom-WindowRect.top,
    		NULL,
    		NULL,
    		hInstance,
    		NULL)))
    	{
    		KillD3DWindow();
    		MessageBox(NULL, L"Fehler beim Erstellen eines Fensters", L"Error.", MB_OK | MB_ICONINFORMATION);
    	}
    

    error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [10]' in 'LPCWSTR' nicht möglich

    Am Ende der WinMain:

    return (msg.wParam);
    

    warning C4244: 'return': Konvertierung von 'WPARAM' in 'int', möglicher Datenverlust

    mfg



  • ok das mit
    **
    error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [10]' in 'LPCWSTR' nicht möglich**

    hab ich behoben.

    Mit release() das problem:

    ...
    
    HDC hDC = 0;
    HWND hWnd = 0;
    ..
    
    if(hDC && !Release(hWnd, hDC))
    	{
    		MessageBox(NULL, L"Release DC failed.", L"Shutdown Error", MB_OK | MB_ICONINFORMATION);
    		hDC = NULL;
    	}
    


  • kann mir jemand bitte helfen?



  • was könnte da nicht stimmen?

    Release ist doch eine Funktion, die sich im Windowsheader befindet?!

    if(hDC && !Release(hWnd, hDC))
        {
            MessageBox(NULL, L"Release DC failed.", L"Shutdown Error", MB_OK | MB_ICONINFORMATION);
            hDC = NULL;
        }
    

    error C3861: "Release": Bezeichner wurde nicht gefunden.

    naja mehr weiß ich nun auch nicht mehr 😞



  • ReleaseDC



  • Ich habe den Dev-C++. Und der sagt mir bei der letzten Zeile auch immer dass da was nciht ganz stimmmt aber ich kann trotzdem kompilieren.


Anmelden zum Antworten